Lambda (was: Refactoring in Tunes)
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
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.