[Haskell-cafe] Re: Tutorial uploaded

Paul Moore p.f.moore at gmail.com
Thu Dec 22 09:21:10 EST 2005

On 12/22/05, Daniel Carrera <daniel.carrera at zmsl.com> wrote:
> Paul Moore wrote:
> > As I say, I'm not trying to criticize anyone here, but it seems to be
> > quite hard to get across to people who have understood and assimilated
> > this sort of stuff, just how hard it feels to newcomers. We understand
> > the explanations (we do! really! :-)) but even understanding them, we
> > are still left with a lack of confidence. It's like being shown a full
> > set of carpentry tools, having every one explained, but still reaching
> > for the hammer every time and banging something no matter what we're
> > trying to do :-)
> I had never heard of mapM, or other -M functions. I can't imagine why
> those would be needed. It seems like pointless duplication.

Thanks for confirming my point!

FWIW, I don't really see why the -M functions are needed either. It's
something to do with the fact that map is for lists, and mapM is for
monads, which are a more general type of sequence than a list. But why
mapM isn't therefore a superset of map, and so map is redundant, I
don't know.

(For experts who might want to explain, please note that I can look
the differences up. But I can't *picture* the differences well enough
to remember them, and hence not *need* to look them up every time, nor
can I internalise the differences well enough to use the 2 forms in
the correct contexts).


More information about the Haskell-Cafe mailing list