[Haskell-cafe] What monad am I in?
Henry Laxen
nadine.and.henry at pobox.com
Tue Sep 2 16:25:16 EDT 2008
Dear Group,
When I fire up ghci and define:
increment x = return (x+1)
I can say:
Main> increment 1
and ghci dutifully replies 2. Also as expected, the type signature of
increment is: (Num a, Monad m) => a -> m a
However, if I say:
Main> let a = increment 1
I get:
<interactive>:1:8:
Ambiguous type variable `m' in the constraint:
`Monad m' arising from a use of `increment' at <interactive>:1:8-18
Probable fix: add a type signature that fixes these type variable(s)
Have I, like Monsier Jourdain, been running in the IO monad all my
life, and didn't even know it?
Thanks,
Henry Laxen
More information about the Haskell-Cafe
mailing list