Proposal: Applicative => Monad: Call for consensus

Stephen Tetley stephen.tetley at
Wed Jan 5 17:06:52 CET 2011

On 5 January 2011 15:22, John Smith <voldermort at> wrote:

> There are now several classes in the Arrow module, and
> Arrow itself is a subclass of Category. Tutorials simply use the original
> Arrow definition, which gets the concept across fine. The learner can then
> proceed to understand the richer, and better factored, current
> implementation.

Now that someone has brought Arrows up...

Personally I find the current arrows situation unpleasant and
frustrating. I only use arrows infrequently so I haven't built up an
intuition about them the way I have with monads. The current code is
unlike the best tutorial (John Hughes's AFP lecture notes), and last
night when I was looking for tutorial material covering the new
classes I couldn't find any, all I had to work with was the code in
Base and Ross Paterson's arrow transformer package. There isn't even
an explanation in the Control.Arrow Haddock docs elucidating the

For me this isn't progress, and if I were a beginner encountering
this, I'd seriously be asking myself is this really a language I'd
want to be using.

More information about the Libraries mailing list