[r6rs-discuss] [Formal] (r6rs base) must also export _ and ... at level 1
On Thu, 25 Jan 2007, R. Kent Dybvig wrote:
>> Since imported identifiers cannot be redefined, it is impossible to stomp on
>> these identifiers if they are bound in (r6rs records).
>
> That's incorrect, even if one ignores the likelihood that implementations
> will provide traditional interactive environments. They can be stomped on
> by local bindings, which is what I think is most likely:
>
> (define foo
> (lambda (fields)
> ---
> (let (---)
> (define-record-type foo (fields (mutable x))) => syntax violation
> ---)))
Ah, okay, but this particular violation will happen also if "fields" is left
unbound in (r6rs records), so I don't understand how the example applies to the
question of whether binding them is better or worse.
At least binding them would eliminate library-toplevel stomping
errors, which is already an advantage.
Your previous point about translation also particularly shines here for
the records little language, and others, that consist of actual words, as
opposed to non-words. It would be unfortunate if an elementary school teacher
in Spain wanted to translate everything into Spanish for his or her students,
but were unable to substitute "campos" for "fields".
Andre
Received on Thu Jan 25 2007 - 10:42:03 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC