module system/namespaces: separate with/use, allow local "use"

Isaac Jones ijones at
Mon Jan 30 13:27:41 EST 2006

"Simon Marlow" <simonmar at> writes:

> On 30 January 2006 09:03, Simon Peyton-Jones wrote:
>>>> With the module system, we should make a distinction between
>>>> declaring 
>>>> (1) that we want to use a module
>>>> (2) how to bring the module's names into scope
>>> Perhaps 'import' should be allowed anywhere among definitions.
>> Indeed.  Requiring the import clauses to be at the top, and the fixity
>> declarations, makes them easy to find -- but we don't require that for
>> type signatures or class declarations etc.  It'd be more consistent to
>> allow imports and fixity declarations anywhere.
>> This'd be a backward compatible change, but it's an utterly un-forced
>> one.  It's not something that people complain about much.
> I vaguely remember suggesting this for Haskell 98 or Haskell 1.4 (can't
> remember which) but nobody saw the need for it back then.
(snip pros & cons summary)

Can one of you add a ticket / wiki page with this summary?  I'd like
to track things like this in case they come up again.

Johannes, if you have any more specific proposals you'd like to make,
please do so on the mailing list, then add a ticket once some
consensus emerges.



More information about the Haskell-prime mailing list