[r6rs-discuss] on rational 6.7 Compund library names
AndrevanTonder wrote:
> I agree that symbol lists are more Schemely than URIs. However, in
> comparison to Oleg's compound names, draft r6rs compound
> library names would be significantly more difficult to integrate with
> lexical scoping and hygiene in any future extension allowing lexical
> libraries (though that is probably forever off the table, right?).
I don't know.
> Even
> Oleg's names did not do well with lexical scoping since they were
> not indivisible units, so one could shadow parts of the compound
> identifier individually like so:
...
> A better example is given by Al Petrofsky in the original thread:
>
> (let ((x (point x foo)))
> (if (= x (point x bar))
> <something>))
>
> would not work due to shadowing of part of the compound name by x.
Can you give me an example of what you're thinking of in the case of
libraries?
For library names, a disambiguation mechanism should be possible. One
wouldn't normally be trying to write Turing-complete programs in the
library sublanguage, and library names probably wouldn't need to share
the same namespace as ordinary identifiers, for example.
Off the top of my head:
(let ((mylib (lib (foo bar baz))))
(import (baz mylib quux) ; imports (baz mylib quux)
mylib ; imports (foo bar baz)
`(boo , at mylib bzzt)) ; imports (boo foo bar baz bzzt)
(I'm not advocating any of that, just exploring the potential future
problem...)
Anton
Received on Wed Jun 27 2007 - 02:44:44 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:01 UTC