
3 Aug
2007
3 Aug
'07
4:07 p.m.
On 8/1/07, Jeff Polakow
But what about an actual object of type 'IO Int', say?
I usually describe the type resulting from applying a monad a computation.
Same here. If "m" is a monad, then "m a" is a computation. (Of course, computations are first-class values, like functions.) I've occasionally called functions of type "a -> m b" monadic functions, but I suspect that's poor style. I wonder how much of the confusion surrounding monads comes from the fact that using them in Haskell involves higher-order functions, type constructors, and type constructor classes.