[Haskell-cafe] Gentle introduction questions / comments

Cristiano Paris frodo at theshire.org
Tue Jan 27 09:40:26 EST 2009

On Tue, Jan 27, 2009 at 3:17 PM, Matthijs Kooijman <matthijs at stdin.nl> wrote:
> Hi Cristiano,
>> Mmmmhhh... this seems the signature of the liftM function, whose
>> purpose is to make a function operate on monadic values instead of
>> pure values. Notice that this is different from the "lift" function
>> you described above. A computation is a monadic value (i.e. an object
>> of the type "Monad m => m a") and the "lift" function wraps that value
>> into a monad transformer, making it a new monadic value (i.e. an
>> object of the type "MonadTrans t, Monad m => t m a").
> Thanks for clarifying. I don't have my terminology straight yet I guess :-)

I hate saying this, as I felt so frustrated when people told me so in
the past, but monads and monad transformers are not as difficult as
they appear.

I advise you to read (and eventually buy) the "Real World Haskell"
book instead: I think it's a far superior introduction.


More information about the Haskell-Cafe mailing list