[r6rs-discuss] Importing set! into a single phase
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
(define-syntax p.car
(identifier-syntax
(_ (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
>> only
>> set! at level 0.
>
> Is restricting set! to a single phase so important as to warrant a separate
> library?
I don't know, but probably someone somewhere will want to do it some day.
Andre
Received on Wed May 23 2007 - 13:08:59 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC