[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Scheme-reports] R7RS 7th draft available
- To: Alex Shinn <alexshinn@x>
- Subject: Re: [Scheme-reports] R7RS 7th draft available
- From: Alan Watson <alan@x>
- Date: Wed, 14 Nov 2012 11:24:43 -0600
- Cc: scheme-reports <scheme-reports@x>
- In-reply-to: <CAMMPzYM=jvNHYTAR_oDex9d2NMRVSPs5GVE_-0EX=N_kx2cZnw@mail.gmail.com>
- References: <CAMMPzYPZT7XNJpA=QNtHAS_oVpGEhHmr2OtwUKz76x-=GS0Fvw@mail.gmail.com> <58ABFB10-1EAF-481E-A05C-53CE7BBBB12D@alan-watson.org> <CAMMPzYM=jvNHYTAR_oDex9d2NMRVSPs5GVE_-0EX=N_kx2cZnw@mail.gmail.com>
> There are two different include and include-ci forms,
> for use in library declarations and for use as general
Thanks for your reply. OK, so if I understand correctly, they are primitive expressions in addition to being a library declarations.
(a) In that case you probably want to add them to the <expression> definition in §7.1.3, in which the other primitive expressions appear.
(b) §4.1.7 says that the contents of the file are wrapped in a "top-level begin". I've looked for a definition of "top-level" without much luck. §5.3.1 appears to define top-level definitions, but it actually just says that that are definitions "at the top level", without further elaboration. §5.7 mentions the top-level environment for the REPL. However, I can't find a definition with regards to syntax. I presume a syntactic form is in a top-level context if it is in a <command or definition> context or a <library declaration> context. You might add this definition at a suitable point.
(c) §5.7 says that optional REPL allows import declarions, expressions, and definitions to be entered and evaluated. I think it would be equivalent but more concise to say that they allow a <program> to be entered. If you don't make this change, I think you need to extend the definition of "top-level" mentioned in (b) to include the REPL.
(d) Also, do you want to clarify the behavior of include and include-ci in contexts that are not top-level contexts? For example, this expression:
(let () (include "foo"))
Does the "include" magically convert its context into a top-level context? Or rather does the standard define its behavior if and only if it appear in a top-level context?
(e) §4.2.3 includes the text "<top-level>", which looks like a reference to a syntax variable, but I cannot find the definition of such a variable elsewhere.
(f) §4.1.6 is missing a "the" in "enclosing the set! expression or at [the] top level".
Scheme-reports mailing list