Tue Nov 16 09:59:24 EST 2010

The I :: m -> (t -> t) towering

The main idea is that the structure of m ``roughly'' corresponds to
the structure of t.  Can we call it structural towering?

I.e. if m is a concatenation of elements and so is t, then multiple
layers of towering ``act as one''.  I.e. it is simple to then add
processing steps like optimization.

* In Staapl the 't' isn't really target code: it contains pseudo code,
  a control flow graph and a "macro return stack" hack used to
  implement local exit in macros.

  More specifically, the interpretation is I :: m -> (t' -> t') where
  t' is an extension of t.  Then compilable macros are those that
  eventually project down to (t -> t) without loosing structure.

* Generalized, if a simple arrangement of m can be translated to a
  particular function compositions structure, we're still in business.