unliftM
Ashley Yakeley
ashley@semantic.org
Fri, 23 Feb 2001 00:32:45 -0800
At 2001-02-22 20:54, Julian Assange wrote:
>Is there a standard construct for something of this ilk:
>
>unliftM :: Monad m a -> a
Assuming you mean "unliftM :: (Monad m) => m a -> a", I certainly hope
not!!!
>In this case, I need to construct a localised stateful computation
>
>comp :: Int -> Int
>comp n = unliftM (do x <- ... return x)
The correct way to express this is:
comp :: Int -> IO Int
comp n = (do x <- ... return x)
I think of "IO Int" meaning "instructions for an imperative action, that,
if performed, would return an Int". That's quite different from an Int.
--
Ashley Yakeley, Seattle WA
Almost empty page: <http://semantic.org/>