Tue Mar 18 11:33:20 EDT 2008
so... what about: represent everything with
- procedures (closures)
- structure types
- tagged lists
tagged lists can be used to implement structure types, but closures
can too. (the example of 'cons' in SICP). iirc, in Haskell, structure
types are unevaluated functions.
basically, these are all interchangable, and are merely about
implementation. however, in PLT scheme, using structure types seems to
be more efficient.
i see myself moving more from the "wow, everything is a list!" and
"eval is amazing!" attitude towards the static undertone in PLT
scheme, which seems to be more based on the language tower model
(macros are no longer 'accumulative' -> everything is unrolled into a
tree structure) and structure types: more abstract than tagged
lists. everything is more static without loosing any power, except for
a little bit of quick-hack power..