[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Haskell 1.1
Date: 24 May 91 19:39
From: haskell-request@cs.glasgow.ac.uk
Sender: Simon L Peyton Jones <simonpj@cs.glasgow.ac.uk>
To: haskell@cs.glasgow.ac.uk
Cc: simonpj@cs.glasgow.ac.uk
Subject: Haskell 1.1
X-Comment1: #############################################################
X-Comment2: # uk.ac.glasgow.cs has changed to uk.ac.glasgow.dcs #
X-Comment3: # If this address does not work please ask your mail #
X-Comment4: # administrator to update your NRS & mailer tables. #
X-Comment5: #############################################################
Folks,
This message is to summarise the position for the Haskell 1.1 revised report.
The revised intention is to get the report all done and typeset by
12 June
That is pretty soon! Below I comment on some of the outstanding issues.
Simon
1. Where/Let.
~~~~~~~~~~~~~
There havn't been any yells of dismay about this proposal,
so I think Paul (Syntax Tsar) intends to include it.
2. Monomorphism restriction.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Joe and Brian sent a recent message about
this. I strongly sympathise with this, but I do not believe we can
adequately deal with the issue before the new report. It is a wart,
and acknowledged as such in the Preface, but the report v1.1 will still have
it. This is not by any means to stifle debate on the subject; it is
important.
3. Type signatures and free type variables.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I'm backtracking on this one, but it takes more than 3 lines to say why, so
I'll put it in a separate message.
4. Abbreviations in export lists.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The export list of a module A can contain an abbreviation of the form B.. ,
where B is a module imported by A; this abbreviation means "export
everything imported from B". I propose to allow A.. to occur in A's export
list, meaning "export everything declared in this module". Thus, you
could write
module A( A.., B.., f, g ) where
import B
import C
...declarations...
This exports everything defined in the body of A, and everything imported
from B, but only f and g from C.
Without this small extension to the abbreviation structure, this effect
can only be achieved by writing out all the things to be exported one by
one.