Lambda (was: Refactoring in Tunes)
Laurent Martelli
martelli@iie.cnam.fr
14 Jan 2000 01:18:55 +0100
>>>>> "Massimo" == Massimo Dentico <m.dentico@teseo.it> 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 martelli@iie.cnam.fr
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
threads.
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
martelli@iie.cnam.fr