[Due to an upgrade in Yale's mail system, this message (and a few
others) didn't get through to the Yale half of the Haskell mailing
list - so I'm resending.  I guess both halves of the list have already
seen Kevin Hammond's response that it's not true... so it goes.  
-- Alastair]

Chris Dornan ([EMAIL PROTECTED]) asks:

> Has anybody considered limiting the 1.3 upgrade to the new
> much-improved I/O libraries?

Several committee members who'd love to do just that.  My (personal)
view on why we're not limiting the upgrade to just the I/O libraries
is that (most of) the other new features are necessary to properly
support the I/O libraries.

* The I/O monad seemed to be on the point of stealing the names
  >>=, >> and return for the exclusive use of the I/O monad.
  Adding constructor classes avoided that.

* The LibTime module will benefit significantly from the addition of
  records (and may well benefit from the addition of strictness
  annotations).

  We could omit LibTime from Haskell 1.3 and produce Haskell 1.4
  sometime next year with records and LibTime - but we'd rather
  get all the changes over with in one go.

We also felt unhappy about encouraging programmers to use monads
without providing some syntactic sugar to make them palatable.  (Old
time monad hackers have become used to the "gzinto"-style of
programming that goes with it - but it's not much fun for beginning
programmers or those who have to teach it.)

We could omit newtype at this stage but we chose to add it in
anticipation of defining further standard libraries.  The current
design makes good use of newtype to preserve abstraction within
implementations and to enable the use of type/ constructor classes
(you can't define an instance for a type synonym).

We could also omit other changes (deletion of n+k patterns, various
prelude changes, ...) but I don't think it would speed the process up.
It might break less code - we'd certainly welcome comments on which
changes will break a lot of code (especially if the benefit from
changing it seems insignificant).

Alastair Reid
Yale Haskell Project



Reply via email to