
"Simon Marlow"
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. peace, isaac