Kernel LISP - how low down can it go?
Henry G. Baker
hbaker@netcom.com
Wed, 21 May 1997 12:37:28 -0700 (PDT)
You can go down to the bare metal. The Lispm had 'subprimitives'
which were indicated by prefixes of '%%' I seem to recall. With these
subprimitives you have complete access to all of the bits, and can put
in new datatype bits, etc.
At SMBX, we also had a language called 'LIL', which stood for 'Lisp
Implementation Language'. It was used to program the FEP (Front-End
Processor) and other embedded processors. It was -- in effect -- a C
with parens, since I seem to recall that it had static typing. In
retrospect, we should have just come up with a parenthesized C, since
it would have been nice to generate real C upon occasion.
If you write your cross-compiler in Lisp, and use it to generate
machine code, and the machine code has the capability of generating
_every_ instruction (may require special Lisp functions for some of
them), then you should be able to target a bare machine, with no
assembler.
Whether this is the best idea or not is another question. But you
_can_ do it.
-----
Someone should also look into Rodney Brooks's Lisp for his
micro-robots. I seem to recall a version that runs on really small
8-bit processors. I think that this definitely runs on bare metal.
--
Henry Baker
www/ftp directory URL:
ftp://ftp.netcom.com/pub/hb/hbaker/home.html