Export lists in modules

Simon Marlow simonmar at microsoft.com
Thu Feb 23 06:44:06 EST 2006

On 23 February 2006 11:14, Malcolm Wallace wrote:

> "Simon Marlow" <simonmar at microsoft.com> wrote:
>>> However, I would be
>>> equally happy to combine type/newtype/data into a single keyword for
>>> exports.
>> for the record, I am in favour of tagging export specifiers with
>> 'class' or 'type' (using 'type' for all type constructors, in light
>> of yours and John's points).
> For the sake of avoiding confusion, perhaps we should choose a keyword
> (or better, a reserved identifier with no meaning outside of the
> export/import list) that is none of "type", "data", or "newtype"?  How
> about "datatype", "tycon", or the like?  Then it would be clearer that
> there is no relationship between the way the type is defined, and how
> its namespace is notated in the export list.

Yes, I suppose you could have another keyword.

In fact, a keyword is unnecessary, as long as classes are identified
with the 'class' keyword, there's no need to tag type constructors too.
This is the most minimal extension, and avoids both the confusion of
referring to synonyms and datatypes in the same way, and taking a new


More information about the Haskell-prime mailing list