[Haskell-cafe] Stacking monads

Tillmann Rendel rendel at daimi.au.dk
Thu Oct 2 17:56:43 EDT 2008


Hi Andrew,

Andrew Coppin wrote:
> Uh... what's Applicative? (I had a look at Control.Applicative, but
> it just tells me that it's "a strong lax monoidal functor". Which
> isn't very helpful, obviously.)

Seriously, what are you talking about? The haddock page for
Control.Applicative hoogle links to begins with

> This module describes a structure intermediate between a functor and
> a monad: it provides pure expressions and sequencing, but no binding.
> (Technically, a strong lax monoidal functor.) For more details, see
> Applicative Programming with Effects, by Conor McBride and Ross
> Paterson, online at
> http://www.soi.city.ac.uk/~ross/papers/Applicative.html.
> 
> This interface was introduced for parsers by Niklas Röjemo, because
> it admits more sharing than the monadic interface. The names here are
> mostly based on recent parsing work by Doaitse Swierstra.
> 
> This class is also useful with instances of the Traversable class.

I agree that this is hard to understand, but it's more then just "strong 
lax monoidal functor", isn't it? More importantly, there is a reference 
to a wonderful and easy to read paper. (easy in the "easy for Haskell 
programmers" sense, not in the "easy for the authors, and maybe the 
inventors of Haskell" sense). Just give it a try.

Just in case you missed the link for some reason, here is it again:

   http://www.soi.city.ac.uk/~ross/papers/Applicative.html

     Tillmann

PS. Regarding Applicative, you may be interested in the original 
proposal introducing it, which can be found here:
http://www.soi.city.ac.uk/~ross/papers/Applicative.html

PPS. Don't miss McBride's and Peterson's great paper about applicative 
functors at http://www.soi.city.ac.uk/~ross/papers/Applicative.html.

PPPS. You may also be interested in 
http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf.

PPPPS. If you wonder what do to next when visiting 
http://www.soi.city.ac.uk/~ross/papers/Applicative.html, you could 
consider clicking on the link to 
http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf. Its a very 
interesting paper, well, actually, it reads more like a tutorial. Just 
like a blog post, but so much better then the usual blog post.


More information about the Haskell-Cafe mailing list