Lambda (was: Refactoring in Tunes)

Laurent Martelli
14 Jan 2000 01:18:55 +0100

>>>>> "Massimo" == Massimo Dentico <> writes:

  Massimo> Laurent Martelli wrote:

  >>  The need of C++ compiler is just an implementation issue. i
  >> could very have written in assemblor, and it would be as
  >> portable. At that point, it would be fairly easy to compile OIL
  >> into a "kernel" that can bootstrap on bare hardware. But I don't
  >> see any need for this. At least now. I just felt that to start
  >> with, C++ was a good compromise between portability and
  >> efficiency.
  >> -- Laurent Martelli

  Massimo> This type of portability is a *myth*.  As soon as you use a
  Massimo> non standard library you immediatly obtain a non portable
  Massimo> program. The effort of porting your application from an
  Massimo> environment to another is as big as more you use non
  Massimo> standard libraries.

I only use Free libs. 

  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

Anyway, a complete metaprogramming environment is my goal.

  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). 

Laurent Martelli