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

Reply via email to