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 ,@mylib bzzt)) ; imports (boo foo bar baz bzzt) (I'm not advocating any of that, just exploring the potential future problem...) Anton _______________________________________________ r6rs-discuss mailing list r6rs-discuss@lists.r6rs.org http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss