I haven’t received the e-mail you are responding too (in particular, I don’t 
know who you are responding to), but …

>> In R7RS, (srfi 1) and (srfi |1|) are different library names.
>
>What is the practical harm?
>
>(If there is some obscure point whereby the semantics don't add up in an 
intuitive way, I would genuinely like to hear about it. In practice, I 
think library aliases will be a must-have feature eventually. It implies 
multiple library names resolving to the same library will be commonplace 
irrespective of what is done about numbers specifically.)

As already has been answered:

The practical harm is (srfi |1|) is non-standard, but it looks standard because 
it contains ‘srfi’, so if someone were to type (srfi |1|) in their Scheme 
implementation and it gets automatically mapped to (srfi 1), then it appears to 
work, hence misleading the writer into thinking that (srfi |1|) is standard.

(For the same reason, Guile doing (srfi srfi-1) is problematic. It’s not just 
there for compatibility, it’s the main way of importing SRFI things.)

If (srfi |1|) were to be standardised via SRFI process or RnRS (maybe 
implicitly as a ‘module names equality is to be done modulo number/symbol 
conversions’ thing in a future R8RS), then (srfi |1|) would be fine, but such a 
thing.

Also, even if X would have no practical harm, that doesn’t imply X should be 
done.

>>     Are the practical implications for Scheme programmers or implementers?
>>     It's the whole library name that is of interest. Any part ought not be
>>     interesting on its own.
>> 
>> Parts of Scheme forms can be interesting even if they do not make sense 
>> as stand-alone identifiers.
>
>What is the practical difference?
>
>Sounds like an esoteric point of spec-writing aesthetics.

This has already been answered.

The practical difference, IIUC, is that esoteric point (IIUC, different lexical 
context stuff). If you misinterpret the esoteric stuff, then your 
library/program/... might not work properly, which is a practical concern.

(More precisely: lexical context of library name not necessarily the same as 
context of a name part.)

This is irrelevant to Guile though, Guile doesn’t have this extension.

Regards,
Maxime Devos

Reply via email to