packages feed

MonadLab-0.0: examples/InterpMonadD.mlab

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