Tue Jun 5 21:21:10 EDT 2018

The essence of staapl

Allow metalevel values to be passed around freely, and instantiated in
target code.  This is trival to do in Haskell.  Where a target program
is :: m (), but any metalevel version of target code can be carried

To generalize this to assembly: there should be a combinator that
replaces a labda expression (e.g. a -> m b), with a function call by
compiling that function somewhere and carrying around the label.

Still for the PRU this would require register allocation.  How hard is
it to implement a stack?  I could do a forth for bookkeeping.