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.