On Sun, Jan 6, 2013 at 4:45 AM, Andy Wingo <[email protected]> wrote: > > First of all, the clauses of a `cond-expand' outside a define-library > form is specified as containing expressions. This does not appear to be > the case: they seem to be able to contain definitions as well. >
Indeed - this was a last-minute change. We'll clarify it to state that definitions are allowed in the non-library-declaration form. Secondly, and more gravely, it seems that the `begin' expression of the > `define-library' language can contains "commands or definitions" > (5.6.1). This comes from formal syntax of "Programs and definitions". We should clarify this since it's not otherwise made clear until chapter 7. What is a "command"? I will assume you mean "library > declaration", as mentioned later in the section. I also assume that > `begin' can contain expressions. So, the problem: allowing `begin' to > contain library declarations appears to break the "static" intent of the > define-library system. No, we most certainly don't mean library declarations. The later note that `begin' could include library declarations was a terrible editorial mistake which many people have pointed out and has long since been fixed. The library system is STATIC. You say "in general we don't do a great job of distinguishing between expressions and definitions." Was there a third (or more) case? -- Alex
_______________________________________________ Scheme-reports mailing list [email protected] http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports
