tag:blogger.com,1999:blog-5888658295182480819.post7311551410443416907..comments2015-09-29T11:53:55.792-03:00Comments on Alaska Ataca a Kamtchatka: Theorems for Free: The Monad EditionMatías Giovanninihttps://plus.google.com/109173757899411658539noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-5888658295182480819.post-19116913965477548962012-07-20T15:11:18.174-03:002012-07-20T15:11:18.174-03:00The difference is that Monoid x => Either x y, ...The difference is that <b>Monoid x => Either x y</b>, when used monadically, will abort the computation at the first failure (i.e. the first Left) so it won't accumulate through the monoid. More generally, when doing validations, you'll want to use this Either with monoid through the applicative interface so that you can actually accumulate errors. Sometimes you'll want the monadicMauricio Schefferhttp://www.blogger.com/profile/15247972578064164206noreply@blogger.comtag:blogger.com,1999:blog-5888658295182480819.post-21725934145786479542012-07-20T09:05:04.817-03:002012-07-20T09:05:04.817-03:00You could have have linked to your blog ;-) I'...You could have have <a href="http://bugsquash.blogspot.com.ar/search/label/applicative%20functors" rel="nofollow">linked to your blog</a> ;-) I'm not convinced that there's a use for Applicative Functors for which a Monad isn't appropriate. If <b>Maybe x</b> is a monad, so much so <b>(Monoid y) => Either x y</b>; again, all I can see that the operators give you is DSL convenience.Matías Giovanninihttp://www.blogger.com/profile/17772004856076119446noreply@blogger.comtag:blogger.com,1999:blog-5888658295182480819.post-10532637877964367162012-07-19T21:52:36.204-03:002012-07-19T21:52:36.204-03:00About your question "What is this good for?&q...About your question "What is this good for?": if you mean "what are applicative functors good for", they're generally useful for modeling effectful computations, though you probably already read that elsewhere. More concretely, they're great for <i>accumulating</i> effects, for example when validating inputs, the effect can be a monoid accumulating error messages.<br /Mauricio Schefferhttp://www.blogger.com/profile/15247972578064164206noreply@blogger.com