Lambda (was: Refactoring in Tunes)

Massimo Dentico
Sat, 22 Jan 2000 16:00:40 +0100

Laurent Martelli wrote:
>   Massimo> To obtain true portability you need a good virtual machine
>   Massimo> or a complete metaprogramming environment. Forth has a
>   Massimo> tiny, quite fast virtual machine that you can easily port
>   Massimo> *manually* without much effort just in virtue of his size
>   Massimo> OR you can metacompile it to another target machine
>   Massimo> (evidence of these facts: the proliferation of Forth
>   Massimo> implementations).  So you can obtain a better compromise
>   Massimo> between portability and efficiency.
> I'm afraid that the "non-standard library" problem also arise in the
> case of VM. But maybe you were thinking of "unportable" libs such
> threads.

The Forth Virtual Machine  is  not a VM in traditional sense.  The
problem  of  "non-standard library"   doesn't  arise   because  to
*bootstrap* a Forth environment  you don't need library at all.  A
typical size of a Forth system is few KB and is defined in term of
few  primitives.  You can make  this core  so little  that you can
*manually* assemble it  and/or  port it to another assembly,  as I
have already pointed up.
> Anyway, a complete metaprogramming environment is my goal.

Yes, I know and I agree with this choice, of course.
>   Massimo> Of course, to run OIL on the bare hardware you need to port
>   Massimo> your interpreter (your virtual machine) to other machines
>   Massimo> OR to write a compiler for OIL. It's not sufficient to
>   Massimo> rewrite OIL in OIL.
> Of course. Our plan is to rewrite OIL in OIL, and then write an
> OIL2Posix compiler or something like that. We're not interested in
> bare hardware (yet).

Ok,  when you'll interested  to reach the bare hardware  I suggest
you to take a look carefully in this direction.

Massimo Dentico