* the name!
Names including a date, like Haskell 98, or a specific use,
like Teaching Haskell, could mislead. Standard Haskell 1 is
rather long (and ambiguous). The reasons why Haskell 1.5
suggests greater stability than Haskell 1.4 are too obscure.
So if Standard Haskell says too much, my vote goes to Stable Haskell.
If even that still sounds too much like a final resting point, rather
than a base for further development, how about Root Haskell or Stock
Haskell (or even Basic Haskell :-)?
* import and infix declarations anywhere in a module?
I am against this proposal. Collecting all such declarations
at the head of the module is better for human readers. Allowing
them anywhere would also complicate and slow down program analysis
that only requires module dependencies (eg. Haskell-specific `make'
tools).
* layout rules
A precise specification of the layout rules is clearly desirable.
But the proposed change `relaxing' the rule for if-then-else seems a
bit funny. Isn't it at odds with the original ISWIM motivation for
having layout rules at all?
* maximal munch and comments
Explicitly allowing operators such as --- and --> is not just
a clarification; it is a change in the comment convention. (cf. p8 of
the 1.4 report `The sequence -- immediately terminates a symbol ...')
Though it is attractive to allow a wide range of operator symbols
I'm not convinced this change would be an improvement.
--- comment
----------------------
-- Is the previous line a comment? The line before that?
Any change putting in doubt (or even preventing) the commenthood of
an unbroken line of 2 or more dashes would be a pain.
* monomorphism restriction
(Last but hardly least!) Surely MR qualifies as a trap that
it would be nice to clean up. It takes three pages to explain in
the 1.4 report, and there is plenty of evidence that programmers
still fall over it frequently.
Would it be too much/little to require all declaration groups in an
exporting module to be unrestricted -- a straightforward syntactic
condition?