[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: eval questions

> I realize that we could define the problem away, but again, I think
> that it is more natural (and was my intent) to disallow additional
> unexpected bindings. 

I understand that this is the intent.  Partly, I'm worried that the present
wording has no teeth.  In practical terms, an implementation that does
leave in the additional bindings is perfectly legal, even if it violates
the spirit of the report.  Some might even think those implementations are
more useful than those that pedantically omit nonconflicting extensions.

Here's a couple of related questions, regarding whether an implementation
that extends a primitive or syntactic form in some way must disable the
extension in the report and null environments:

2d. Chez Scheme extends current-input-port and current-output-port to
accept an optional port argument; when provided the argument, the current
input or output port is changed to the argument.  Must the one in the
report environment support only no-argument calls to these primitives?

2e. Chez Scheme supports internal define-syntax.  Must internal
define-syntax be disabled in the report and null environments?