Mon Jun 25 11:56:23 CEST 2007
these are confusing. maybe i really shouldn't distinguish between
'writer' macros, and 'asm buffer' macros. the the writer thing is
clumsy and a bit hard to understand. so i'm taking it out.
+ it's simpler: i'm using some I/O style monad '>asm'
- writer macros can't be isolated any more (assumption needs to be:
modifies the whole state, not just concatenation.)
this doesn't seem to be a big disadvantage. it's probably better to
use some kind of tag system to classify macros according to
properties. the only thing i use it for is optimization, where missing
a classification means some optimization can't be done, so it won't
cause fatal errors.