Hi Tom, > See [1] for an explanation of free monads in general. For IO in particular, > define a functor > > data IOF a = GetChar (Char -> a) | PutChar Char a | ... > > with constructors for all elementary IO operations.
But how should this work if the user adds an IO operation, e.g by wrapping a C function? Greetings, Daniel _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe