monad parsing article....
Keith Wansbrough
Keith.Wansbrough@cl.cam.ac.uk
Wed, 23 Jan 2002 13:09:13 +0000
David Feuer asks:
> implementation language --- are explained as they are used. Any other
> lazy functional language that supports (multi-parameter) constructor
> classes and the use of monad comprehension notation would do equally well.
> ...."
>
> I am curious: was there any other language at the time supporting all of
> these features, or was this a joke?
I'm fairly sure there wasn't; but of course they had hopes that Haskell
soon would. As it turns out, Haskell still doesn't have MPTC in the
standard, but it did for a while have monadic comprehensions, and most
Haskell implementations now support MPTC.
> Also, why were monad comprehensions
> removed from Haskell? Was it for efficiency?
No, it was because they led to extremely confusing error messages.
This was a particular concern because list comprehensions tend to be
used a lot by beginners, in assignments designed to demonstrate the
power and compactness of the language. If simple typos lead to error
messages about functors and monads and other arcane and unknown
concepts, these beginners are liable to be put off; if instead the
error messages talk about lists then they will be much more useful.
--KW 8-)