Re: Bug#883702: RFS: lina/5.3.0-1 ( #859130 ITP: lina -- iso-compliant Forth interpreter and compiler )

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: Bug#883702: RFS: lina/5.3.0-1 ( #859130 ITP: lina -- iso-compliant Forth interpreter and compiler )

Albert van der Horst
Adam Borowski schreef op 2018-06-29 19:16:

I refrained from answering at the time. I would have given the same
answer as now, but now I've something to back it up.

> On Fri, Jun 29, 2018 at 12:14:12PM +0200, Albert van der Horst wrote:
>> Adam Borowski schreef op 2017-12-21 20:26:
>> > On Wed, Dec 06, 2017 at 05:51:50PM +0100, Albert van der Horst wrote:
>> > >  * Package name    : lina
>> > >     Version         : 5.3.0-1
>> >
>> > Hi!  I for one don't know the slightest bit about Forth, but as no one
>> > has taken this RFS, I can review packaging only -- which, while not
>> > ideal, is not a show stopper for uploading.
>
>> > Your choice of a language to code a compiler is... interesting.  But
>> > then, at least it's not node.js, php or python :)
>>
>> A compiler writer has no choice, all compilers are written
>> in assembler (and itself). php and python are merely libraries written
>> in c.
>> Besides c there are very few compilers around. This is one.
>
> I haven't yet seen any other compiler written in assembler (I'm a part
> of
> the generation that played with decomissioned punched tape in
> kindergarten
> but didn't get to use such computers myself).  It's a pretty bad idea
> -- it
> takes many times as long to write the same program in assembler than in
> a

There is a fundamental misunderstanding here. Everybody can avoid
using assembler and use a high level language ... except the writer of
the high level language. And if you write your compiler in c, well I
could scoff and say that you're just writing a c-library, but let
me comment that you're dependant on a 2.2 million lines house of cards,
that is totally not under your control.
Writing in assembler doesn't even make you dependant on an assembler.
Forth folks are use to writing their own assembler, then use that to
write
the compiler.
https://github.com/albertvanderhorst/ciasdis

> compiled language, and the program is not portable.  It looks like arm
> will
> dethrone x86 pretty soon -- the architecture is way more efficient,
> Intel no
> longer has a process advantage, and even the niche of high-end servers
> is
> getting assaulted.  Then there's coming riscv with lofty goals of
> kicking

So you say that because my compiler has been written in i86 it is likely
not portable. Debian folks tend to fill that in as "configure , then
make
must work". There is more to it, because at least that presuppose
a working gcc.
But lina is portable to an extent, but the portability of a compiler is
by
definition limited.
The argument is that "you'll be troubled when the arm comes"
Well the arm architecture has been added to lina, and with quite much
less effort
probably than gcc. If portability is measured in time to port,
lina is more portable than gcc.

Note that we are talking about the compiler. The application programs
are as
portable as c-programs are.

> out both arm and x86, and a list of backing companies that may actually
> accomplish that.  Yet your compiler is stuck with i386 while a C
> program
> wouldn't care about the platform.  It's easy to change code generation
> (and

> producing bytecode for LLVM or such would grant instant support for a
> wide
> array of targets) but porting the compiler itself would need a total
> rewrite.

Yes it will. But a total rewrite of a Forth compiler is not much effort.
The 32 bit arm compiler was a couple of months of spare time, in fact
a port of the i86 assembler system.
The 64 bit port is a tad more spectacular.
Both are at https://github.com/albertvanderhorst/ciforth/releases
I received an orange pi 1+ (64 bit arm) in the mail. It was some trouble
to get a
linux installed on it. That succeeded about a week ago.
This is the first change that I checked in, mark the date:
"
   revision 6.63
   date: 2019-05-21 21:16:03 +0000;  author: albert;  state: Exp;  lines:
+12 -9

   Macro cleanup. Removed x86 remainders, i.a. LODS in ciarm.gnr.
   Added lina64.cfg and width64.m4 to accomodate the 64 bit assembler on
   the Orange 1+.
"
And no I did not learn the Aarch64 7000 page assembler manual by heart
beforehand.

Forth is a different world. If the RISC V systems come, bring it on!

Now if in hindsight someone decides that lina may be valuable to Debian,
please contact me. Nobody responded to my RFS. :-(


>
>
> Meow!

Groetjes Albert
--
Suffering is the prerogative of the strong, the weak -- perish.
Albert van der Horst

Reply | Threaded
Open this post in threaded view
|

Re: Bug#883702: RFS: lina/5.3.0-1 ( #859130 ITP: lina -- iso-compliant Forth interpreter and compiler )

Geert Stappers-2
On Thu, May 30, 2019 at 07:21:04PM +0200, Albert van der Horst wrote:
>
> Yes it will. But a total rewrite of a Forth compiler is not much effort.
> The 32 bit arm compiler was a couple of months of spare time, in fact
> a port of the i86 assembler system.
> The 64 bit port is a tad more spectacular.
> Both are at https://github.com/albertvanderhorst/ciforth/releases

git


> I received an orange pi 1+ (64 bit arm) in the mail. It was some trouble to
> get a linux installed on it. That succeeded about a week ago.
> This is the first change that I checked in, mark the date:
> "
>   revision 6.63
>   date: 2019-05-21 21:16:03 +0000;  author: albert;  state: Exp;  lines: +12 -9
 
And what is the git commit  hash?? ( e.g.
https://github.com/albertvanderhorst/ciforth/commit/12c4697198b0c3113a79ff5e249e4bc0be8cea9a
has  git commit hash 12c4697198b0c3113a79ff5e249e4bc0be8cea9a )


>   Macro cleanup. Removed x86 remainders, i.a. LODS in ciarm.gnr.
>   Added lina64.cfg and width64.m4 to accomodate the 64 bit assembler on
>   the Orange 1+.
> "
> And no I did not learn the Aarch64 7000 page assembler manual by heart
> beforehand.
>
> Forth is a different world. If the RISC V systems come, bring it on!
>
> Now if in hindsight someone decides that lina may be valuable to Debian,
> please contact me. Nobody responded to my RFS. :-(
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859130#18
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883702#51
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859130#83


Groeten
Geert Stappers
--
Leven en laten leven

signature.asc (836 bytes) Download Attachment