packages feed

MonadLab-0.0: examples/InterpMonadC.mlab

monad M       = EnvT(Environ) Env + StateT(Store) Sto + WriterT(String) Out
monad N       = StateT(String)
data  V       = Wrong | Num Int | Fun (V -> M V) | Ref Loc | Unit
type  Environ = [(String,V)]
type  Store   = [(Loc,V)]
type  Loc     = Int