Sun Mar 16 15:58:10 EDT 2008

typed writer monad

the state extension used in brood works well for macros, but is very
hard to use with the dictionary in prj. why is this?

the conflict is about what the meaning of quotations should be:

    if they're state functions, all code that takes programs should be
    redefined such that they pass on the state. this makes sense for
    state functions, but is infeasible unless it can be done

    passing state code to non-state code doesn't work.

so what if code were typed? the problem is that i'm trying to
implement some half-assed monad thing without having a type system to
make it convenient..

so... base can't run state code, but state code can be converted to
base code if it doesn't contain any real state actions. probably state
needs a 'run' that can distinguish between the two types.

can the functionality of run be somehow 'replaced' when 'inside' state
code? in order to answer, need to define what 'run' means.