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:
Thanks already now, Burak Ekici. _______________________________________________ Haskell-Cafe mailing list [hidden email] http://www.haskell.org/mailman/listinfo/haskell-cafe |
As for Cont, it can be proved easily, either by hand, or by observation that Cont is an obvious composition of two adjoint functors. As for IO, it has to be taken for granted, since IO internals are hidden from the programmer. Отправлено с iPhone
_______________________________________________ Haskell-Cafe mailing list [hidden email] http://www.haskell.org/mailman/listinfo/haskell-cafe |
In reply to this post by Burak Ekici
2011/4/12 Burak Ekici <[hidden email]>:
> 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: IO doesn't obey the monad laws, due to the presence of seq in Haskell. Sad but true... Cheers, Tim -- Tim Chevalier * http://cs.pdx.edu/~tjc/ * Often in error, never in doubt "an intelligent person fights for lost causes,realizing that others are merely effects" -- E.E. Cummings _______________________________________________ Haskell-Cafe mailing list [hidden email] http://www.haskell.org/mailman/listinfo/haskell-cafe |
On 13 April 2011 21:26, Tim Chevalier <[hidden email]> wrote:
> IO doesn't obey the monad laws, due to the presence of seq in Haskell. > Sad but true... See also a previous discussion about IO and the Monad laws: http://www.haskell.org/pipermail/haskell-cafe/2010-March/074001.html _______________________________________________ Haskell-Cafe mailing list [hidden email] http://www.haskell.org/mailman/listinfo/haskell-cafe |
Free forum by Nabble | Edit this page |