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