Kernel LISP - how low down can it go?

Henry G. Baker
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

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: