[Haskell-cafe] Why no IO transformer monad?
Udo Stenzel
u.stenzel at web.de
Mon Dec 20 03:55:41 EST 2004
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
needed.
Udo.
__________________________________________________________
Mit WEB.DE FreePhone mit hoechster Qualitaet ab 0 Ct./Min.
weltweit telefonieren! http://freephone.web.de/?mc=021201
More information about the Haskell-Cafe
mailing list