Thu May 8 16:57:49 CEST 2008

strict vs lazy

so, i run into a point where evaluation order does matter: reset needs
to delay its argument.. is it worth it to modify the entire
representation to a lazy one?

the thing is: modifying evaluation order requires macros.. but macros
are viral: any composition of a macro is again a macro.

on the other hand, why isn't EVERY function a macro? with the bulk
using strict application. do i really need to access functions
directly, or is (scat: bla) enough?

or.. why can't composition automatically be macrofied, or, why can't i
have unbalanced parenthesis?

it looks like there is really no way around this: in order to capture
dynamic compositions, code needs to be delayed so a prompt can be
inserted BEFORE evaluation.

EDIT: so.. lazy eval. does that give problems with sequenced code? no:
since a scat program is already sequenced (composition of unary
functions) there is no problem here.

when this is done with the datatypes themselves, it should be fairly
straightforward: states are thunks.