minor errors in Haskell 2010 report

Simon Marlow marlowsd at gmail.com
Thu Aug 23 18:01:22 CEST 2012

On 23/08/2012 16:51, Ramana Kumar wrote:
> On Thu, Aug 23, 2012 at 4:43 PM, Simon Marlow <marlowsd at gmail.com
> <mailto:marlowsd at gmail.com>> wrote:
>     The current text seems clear to me.  This is the *definition* of
>     what is exported by module M, so referring to what is exported by
>     module M within its own definition would be very confusing.
> To clarify, this is not the definition of what is exported by module M;
> rather, it is the definition of what is exported by some other module
> that includes "module M" in its export list.

Yes sorry, I got slightly mixed up there.  But the current text still 
seems clear to me.  You said:

 > It is not clear that "in scope" here really means "in scope and 
exported by module M".

There are two cases:

Either M is the current module, in which case we should not refer 
recursively to the export list in the definition of the export list, or

M is not the current module, in which case the only way that an entity 
could be in scope in the current module is if it was exported by M and 
subsequently imported by the current module, so adding "exported by 
module M" is superfluous.

The current definition is succinct and does the right thing, without 
having to resort to separating the two cases explicitly.  Perhaps it 
could do with a word or two of explanation in the text, though.


More information about the Haskell-prime mailing list