On 23/08/2012 16:51, Ramana Kumar wrote:
On Thu, Aug 23, 2012 at 4:43 PM, Simon Marlow <marlo...@gmail.com
<mailto:marlo...@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.

Cheers,
        Simon


_______________________________________________
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime

Reply via email to