Sun Jan 24 14:54:37 CET 2010

More about tethering

Let's build a tethered library based only on LEAF.

Given a function from LEAF, how can EX use it?  It needs to know how
many arguments to pass, and how to wrap/unwrap the arguments.

What about adding a _type function that will provide this information?
For each function defined in an .so there is an additional function
_type that will produce meta-info.

   - Incremental bootstrap is messy. 
   - A decent self-hosting compiler is not so trivial

      => A fully bootstrapped, possibly not self-hosted compiler might
         be a better approach.

   - I don't understand it quite well yet.  There are lots of
     decisions to make when writing a VM.  I'm not sure a few simple
     modifications will do much good.  I would like to go back to
     simplicity first, then maybe speed later.

- Did some thinking about tethered development.  This might be the
  most viable way of moving the project forward, and take it closer to
  Staapl.  What I really need however is an application to drive it.

Next?  Hard to say.  Probably the tethered approach and simpler
wrapping.  Those would be the most useful approaches.  Essentially
LEAF+GC could be written in C, but the rest might be generated from
Scheme or some first-order language.