[Haskell-cafe] Re: Monad transformers

Max Vasin max-appolo at mail.ru
Sun May 8 14:38:53 EDT 2005


On Sun, 8 May 2005 20:29:31 +0200, Tomasz Zielonka <tomasz.zielonka at gmail.com> said:

> On Sun, May 08, 2005 at 10:19:28PM +0400, Max Vasin wrote:
>> On Sun, 8 May 2005 18:34:37 +0200, Tomasz Zielonka
>> <tomasz.zielonka at gmail.com> said:
>> > On Sun, May 08, 2005 at 07:54:43PM +0400, Max Vasin wrote:
>> >> f :: ReaderT env monad1 rtype g :: Reader env rtype
>> 
>> > How about: > toReaderT :: (Monad m) => Reader r a -> ReaderT r m
>> a > toReaderT (Reader f) = ReaderT (return . f)
>> 
>> Thanks.
toReaderT should be 

toReaderT (Reader f) = ReaderT (return . (runReader f))

> You can also make 'g' more generic, using the MonadReader
> type-class.
So I should its type should be

g :: (MonadReader m) => m env rtype

and than 

f = let r = g
?

--
WBR,
Max Vasin.



More information about the Haskell-Cafe mailing list