Sorry; my answer is just suggesting doing something standard in ML
module systems, but of course not everyone is already familiar with such
systems!
I only suggested changing, in the /output/ signature of your functor,
the line
datatype state st a = State of (st -> S.m (st * a))
to
con state :: Type -> Type -> Type
It was actually a mistake on my part to refer to [monad_state].
_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur