
On 12/22/05, Daniel Carrera
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). Paul.