# HG changeset patch # User HackBot # Date 1357952515 0 # Node ID 0c2527f959bee3fef77ba2b3f38b74fefb690aa2 # Parent 08370a1a055522c13ee5c3bc4a29452c34f3fdd8 echo \'class Monad m where ; (>>=) :: forall a b. m a -> (a -> m b) -> m b ; (>>) :: forall a b. m a -> m b -> m b ; return :: a -> m a ; fail :: String -> m a\' >> wisdom/monad_tutorials diff -r 08370a1a0555 -r 0c2527f959be wisdom/monad_tutorials --- a/wisdom/monad_tutorials Sat Jan 12 00:56:55 2013 +0000 +++ b/wisdom/monad_tutorials Sat Jan 12 01:01:55 2013 +0000 @@ -5,3 +5,4 @@ Monads are just monoids in the category of endofunctors. Monads are like when you and a friend are trying to have a conversation about a mutual friend. Monads are like overloading the semicolon. +class Monad m where ; (>>=) :: forall a b. m a -> (a -> m b) -> m b ; (>>) :: forall a b. m a -> m b -> m b ; return :: a -> m a ; fail :: String -> m a