Tue Mar 18 08:46:21 EDT 2008
the thing that bugs me is that currently, the only way to do the
lifting is to manually update and duplicate all the code: i found an
operation that doesn't compose easily. this means that the whole of
'control.ss' needs to be parameterized, so it can be included in the
what this control needs is:
* a way to apply a function to the abstract state
* a way to push/pop to the stack in this state
should i give up the concreteness of the representation? currently,
the only place where i use it is in debugging (and that's ok) or in
lexical binding of functions (which can be dealth with using macros).
when what currently is 'apply' becomes abstract, a genuine
compositional language can emerge.
OK: got stack abstract now. change wasn't so deep, means i'm getting
better at choosing the right abstractions..
to summarise: the base language has the following components:
* RPN TRANSFORMER
* STACK DATA TYPE
* NAMESPACE IDENTIFIER MAPPER
this is extended easily to STATE DATA TYPE