Hello!
On Mon, Nov 23, 1998 at 08:42:39AM -0800, Simon Peyton-Jones wrote:
> I have now completed the draft report on Haskell 98, both language and
> libraries. I have dated them both 'Draft: 1 Dec 1998'.
> [...]
You wrote "comments welcome", so I'll write some, based on the
list of changes.
3.11 (restricting monad comprehensions to list comprehensions)
Generally I don't like to lose generality without a strong
necessity. Can someone refer me to the rationale for that change?
I've found only a reference that there can be confusing (for people
in the process of learning Haskell) error messages. But then the
question arises if that should not perhaps be better remedied in
the compiler/interpreter systems.
Prelude:
filter is unoverloaded without a replacement, it seems.
How about mfilter in the Monad library module, defined as
mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
mfilter p = applyM (\x -> if p x then return x else mzero)
The rest looks fine to me.
Kind regards, Felix.