[Haskell-cafe] Why no IO transformer monad?
k.schupke at imperial.ac.uk
Mon Dec 20 04:20:52 EST 2004
runIOT :: Monad m => IOT m a -> IO (m a)
Udo Stenzel wrote:
>Henning Sato von Rosen <henning.von.rosen at gmail.com> schrieb am 18.12.04 18:31:11:
>>For each basic monad there seems to be a corresponding transformer,
>>e.g. 'StateT' for 'State' and so on.
>To be useful every transformer has a "run" method of some kind. For a hypothetical
>IO transformer it would look like
>runIOT :: Monad m => IOT m a -> m a
>...which is basically the same as unsafePerformIO and defeats the purpose of
>having an IO Monad at all. If you want to retain the IO-type in the result, then
>you don't need IOT at all, layering any transformer on top of IO is exactly what's
>Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
>weltweit telefonieren! http://freephone.web.de/?mc=021201
>Haskell-Cafe mailing list
>Haskell-Cafe at haskell.org
More information about the Haskell-Cafe