[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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 to: