Dear List,
I am quite new in Haskell's categorical manner of programming. However I have enough knowledge in Category Theory.
I want to ask a question, maybe very well-known one by some of you, about monads of Haskell.
For
the type constructors like Maybe and [], I managed to prove that
together with 2 natural transformations (bind + return), both of these
triples construct a monad. But when I try to prove that IO and Cont type
constructors with the same natural transformations (bind + return) are
monads as well, it was failed.
Here my question is: Is there anyone who knows how to prove that IO and Cont are monads with satisfing following properties:
join . fmap join = join . join
join . fmap return = join . return = id
return . f = fmap f . return
join . fmap (fmap f) = fmap f . join
Thanks already now,
Burak Ekici.