Comments on: Monads for Free http://comonad.com/reader/2008/monads-for-free/ types, (co)monads, substructural logic Sat, 29 Dec 2012 15:18:06 -0800 http://wordpress.org/?v=2.8.4 hourly 1 By: Edward Kmett http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-21220 Edward Kmett Wed, 22 Sep 2010 20:27:36 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-21220 There are plenty of non-monadic ways to deal with control flow. Applicatives, comonads, continuation passing style, lazy request/response lists, etc. The Haskell community has converged on monads because out of the alternatives, monads seem to give you the most bang for the buck (and Wadler wrote a lot of the early papers, so they have geek cred.) There are plenty of non-monadic ways to deal with control flow. Applicatives, comonads, continuation passing style, lazy request/response lists, etc.

The Haskell community has converged on monads because out of the alternatives, monads seem to give you the most bang for the buck (and Wadler wrote a lot of the early papers, so they have geek cred.)

]]>
By: antivirus 2011 http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-21159 antivirus 2011 Wed, 22 Sep 2010 01:53:34 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-21159 I'm new to this monad stuff, is there other way to control the sequence in which calculations are performed without using monad? Or the compiler/interpreter will strictly decide for that? I’m new to this monad stuff, is there other way to control the sequence in which calculations are performed without using monad? Or the compiler/interpreter will strictly decide for that?

]]>
By: The Comonad.Reader » Zipping and Unzipping Functors http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-4083 The Comonad.Reader » Zipping and Unzipping Functors Sat, 08 Nov 2008 14:16:09 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-4083 [...] On the other hand, we do not get the same result for the Free Monad, because it is built over BiffB Either Identity f, and Either is not a zippable bifunctor. [...] [...] On the other hand, we do not get the same result for the Free Monad, because it is built over BiffB Either Identity f, and Either is not a zippable bifunctor. [...]

]]>
By: Edward Kmett http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-1044 Edward Kmett Sun, 13 Apr 2008 07:06:21 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-1044 Woops, thats what I get for typing both of those in from memory rather than pasting from the working code. Yes, and yes. Fixed in the post. I'll include the cofree comonad next time. I just wanted to put things out in digestible chunks. ;) The free monad should use a sum, the cofree comonad uses a product. Woops, thats what I get for typing both of those in from memory rather than pasting from the working code. Yes, and yes. Fixed in the post.

I’ll include the cofree comonad next time. I just wanted to put things out in digestible chunks. ;)

The free monad should use a sum, the cofree comonad uses a product.

]]>
By: Omar http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-1043 Omar Sat, 12 Apr 2008 17:50:44 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-1043 data Free f a = Roll (f (Free f a)) | Return a newtype Free f a = Free { unfree :: (a, f (Free f a)) } Aren't those two different types? Isn't the first a sum and the second a product? Should g = Free f a satisfy g=(f g) + a or g=(f g) x a? data Free f a = Roll (f (Free f a)) | Return a

newtype Free f a = Free { unfree :: (a, f (Free f a)) }

Aren’t those two different types? Isn’t the first a sum and the second a product? Should g = Free f a satisfy g=(f g) + a or g=(f g) x a?

]]>
By: Jaak http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-1042 Jaak Sat, 12 Apr 2008 15:29:07 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-1042 I'm sorry, but what is the Place constructor in the Functor instance of Free? Looks to me that it sould be "Return (f x)" instead. - Jaak I’m sorry, but what is the Place constructor in the Functor instance of Free? Looks to me that it sould be “Return (f x)” instead.

- Jaak

]]>
By: Pseudonym http://comonad.com/reader/2008/monads-for-free/comment-page-1/#comment-1041 Pseudonym Sat, 12 Apr 2008 13:48:40 +0000 http://comonad.com/reader/2008/monads-for-free/#comment-1041 And for your next trick, define the free comonad. Finally, define the free arrow Free a -> Free b. And for your next trick, define the free comonad.

Finally, define the free arrow Free a -> Free b.

]]>