LispOS compiler.

Chris Bitmead
Wed, 19 Nov 1997 20:06:01 +1100

>>Would it be reasonable to use ANS Forth as a portable
>>back end for a lisp system? What would the advantages
>>and disadvantages be?
>I've thought about this myself. After writing a Lisp to Forth compiler,
>you could compile the compiler itself, change the backend so that
>it generates code directly (machine code, threaded code, whatever).

This was discussed at great length a long time ago in the mailing
list, and the consensus seemed to be that this was not a good
idea. Perhaps you should browse the archives.

>Forth's compiler is open enough so that the compiler can be called
>from portable Forth code, so this could make the above Lisp compiler
>as portable as standard Forth.
>I don't have a more recent ANSI Forth reference than DPANS94, but this
>should certainly work with the earlier standards, like Forth 83, providing you
>can extend them to work around word length dependancies (Forth 83 defined
>a cell as 16bit.)
>>Would there be any advantages to using a Forth vs. a
>>C based backend?  Forth might very well be easier
>>to work with and have fewer legacies to deal with.
>I'd expect continuations to be with Forth easier than if you were compiling
>to C. I'm assuming that the code will either be threaded, or that you can
>pull the return address off the return stack and place it in a continuation,
>then later push it back onto the return stack and EXIT. The Forth stack is
>a lot easier to manipulate than the C stack.
>If you want to run LispOS as a bootable OS, it might help to have a
>language like Forth at the lowest level (Didn't Sun do something like this,
>with OpenBoot?), if only for bootstrapping the Lisp compiler. Once running,
>the compiler could compile Lisp to native code. Perhaps a Forth assembler
>could help, too?
>I like the idea of using Forth in this way, but I'm not sure that this is
>necessarily the best way for a LispOS. It may depend on how everyone
>here feels about Forth. How many of us have used Forth?
>After using Forth for many years, and writing several Forth systems, I can
>say that I'm comfortable with it. On the other hand, I don't use it as much as
>I used to...Forth lead me to Lisp, so I still have a fondness for it. However,
>that's not a good enough reason for building LispOS on Forth.
>Or is it? Discuss. ;)
>Martin Rodgers
>Enrapture Limited
>London, England
><URL:> You can never browse enough
>Future generations are relying on us
>It's a world we've made - Incubus   
>We're living on a knife edge, looking for the ground -- Hawkwind

Chris Bitmead