[r6rs-discuss] Importing set! into a single phase
andre at het.brown.edu
Wed May 23 13:08:59 EDT 2007
On Wed, 23 May 2007, Abdulaziz Ghuloum wrote:
> On May 23, 2007, at 12:08 PM, AndrevanTonder wrote:
>> According to section 9.1, the base library exports set! for levels 0 and 1.
>> As a result, there does not seem to be any way that a client library can
>> import set! into a single level.
> Is it important in the explicitly-specified-"for"-import semantics that set!
> be exported for level 1? I don't remember why this is needed.
Unfortunately yes, if one wants to check that the identifier-syntax
form is well-formed. However, since there are always just two clauses in
the same order, the set! literal in
(_ (car p))
((set! _ e) (set-car! p e))))
is actually redundant. A better approach might therefore be to remove it
from the syntax or to ignore it, in which case one would not need to export
set! for level 1.
>> One way of addressing this would be for the base library to remain as
>> specified, but to provide an additional library separately that exports
>> set! at level 0.
> Is restricting set! to a single phase so important as to warrant a separate
I don't know, but probably someone somewhere will want to do it some day.
More information about the r6rs-discuss