<div class="gmail_quote">On Thu, Aug 23, 2012 at 5:01 PM, Simon Marlow <span dir="ltr">&lt;<a href="mailto:marlowsd@gmail.com" target="_blank">marlowsd@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On 23/08/2012 16:51, Ramana Kumar wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On Thu, Aug 23, 2012 at 4:43 PM, Simon Marlow &lt;<a href="mailto:marlowsd@gmail.com" target="_blank">marlowsd@gmail.com</a><br></div><div><div class="h5">
&lt;mailto:<a href="mailto:marlowsd@gmail.com" target="_blank">marlowsd@gmail.com</a>&gt;&gt; wrote:<br>
<br>
    The current text seems clear to me.  This is the *definition* of<br>
    what is exported by module M, so referring to what is exported by<br>
    module M within its own definition would be very confusing.<br>
<br>
<br>
To clarify, this is not the definition of what is exported by module M;<br>
rather, it is the definition of what is exported by some other module<br>
that includes &quot;module M&quot; in its export list.<br>
</div></div></blockquote><div class="im">
<br>
Yes sorry, I got slightly mixed up there.  But the current text still seems clear to me.  You said:<br>
<br>
&gt; It is not clear that &quot;in scope&quot; here really means &quot;in scope and exported by module M&quot;.<br>
<br></div>
There are two cases:<br>
<br>
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<br></blockquote><div><br>Yes, in this case you are right not to refer recursively.<br>

 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
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 &quot;exported by module M&quot; is superfluous.<br>

</blockquote><div><br>In this case, what you said is not quite correct: an entity could be in scope in the current module if it was defined in the current module, or if it was imported from some other module (not M). These are the two kinds of entity I thought of when I first read the sentence, and was expecting clarification that only ones imported from M are to be considered.<br>

 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
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.<br>
<br>
Cheers,<br>
        Simon<br>
<br>
</blockquote></div><br>