Re: [Scheme-reports] ANN: first draft of R7RS small language available Vitaly Magerya (29 Apr 2011 16:41 UTC)
[Scheme-reports] DELAY AND FORCE Andre van Tonder (23 Apr 2011 22:20 UTC)
[Scheme-reports] Regions of imports unspecified Andre van Tonder (23 Apr 2011 22:31 UTC)
Re: [Scheme-reports] Regions of imports unspecified John Cowan (23 Apr 2011 22:43 UTC)
Re: [Scheme-reports] Regions of imports unspecified Alex Shinn (24 Apr 2011 01:59 UTC)
[Scheme-reports] What are regions of toplevel imports? Andre van Tonder (23 Apr 2011 23:41 UTC)
[Scheme-reports] Internal syntax definition order problem Andre van Tonder (23 Apr 2011 22:39 UTC)
[Scheme-reports] Mutable exports Andre van Tonder (23 Apr 2011 22:48 UTC)
Re: [Scheme-reports] Mutable exports Alex Shinn (24 Apr 2011 02:00 UTC)
[Scheme-reports] Internal definition shadowing problems Andre van Tonder (23 Apr 2011 23:19 UTC)
[Scheme-reports] Importing identifier more than once Andre van Tonder (23 Apr 2011 23:37 UTC)

Re: [Scheme-reports] ANN: first draft of R7RS small language available Vitaly Magerya 29 Apr 2011 16:41 UTC

Eli Barzilay wrote:
>> The ability to rename keyword on export is one stated benefit, but I'm
>> not sure this was/will ever be used.
>
> It has been used.

Interesting. Any pointers to what kind of uses those where?

> Another related reason is the ability to avoid having a binding for
> `else', without re-binding it just for that purpose.  (See Andre's
> original post for several more.)

Andre mentions pedagogical uses like excluding "=>" to make a
simplified language, and renaming "else" into other (human) languages.
Are those actual examples of what teachers do in practice?

>> Moreover many implementations have keyword and optional arguments,
>> and I never heard anyone complaining that you can't rename them.
>
> If these keywords were implemented as identifiers (and traditionally
> they're not), then it would make sense to do it there too.

It would make sense if it would be for free, but you'd need to keep
an eye on conflicting identifiers exported from different modules
(which is a major con of bound auxiliary identifiers).

BTW, how does Racket deal with such conflicts? Is this a problem
in practice?

>> There are also historical reasons, i.e. it worked fine in R5RS where no
>> modules existed (provided you don't shadow "else" locally).
>
> Right -- and that fact (the fact that `else' can be shadowed by a
> local binding) is a fundamental motivation.

I thought it was more of a bug than a feature; where can local
shadowing of "else" or "=>" be useful?

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports