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

Reply via email to