<div dir="ltr"><div>[+srfi-discuss]</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Apr 27, 2020 at 10:24 AM Marc Feeley <<a href="mailto:feeley@iro.umontreal.ca">feeley@iro.umontreal.ca</a>> wrote:<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">It would be good if the Scheme community came to a set of rules for managing the “namespace” of library names, beyond reserving (scheme …) and (srfi …) and (<scheme-system> …).  Specifically, I think a library name starting with a URL should be automatically reserved to the person or organisation that controls that URL.</blockquote><div><br></div><div>An excellent idea for a no-code SRFI that would be easy to write for people who haven't written one before.  It should specify both the petname convention and the URL convention.  Attention should be drawn to mailto: URLs, which allow people who don't control any conventional URL to have their own library namespace.</div><div><br></div><div>I wonder if it's better to recommend that all URLs be enclosed in vertical bars, which is safe and simple as vertical bars are not valid in URLs unless %-escaped, or to specify that only URLs containing characters from "#[]'(),;" be enclosed, which minimizes the use of vertical bars.</div><div><br></div><div>I am juggling too many SRFIs as it is, so I can't do this myself.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Also, a library name starting with an underscore should be reserved for the Scheme implementation, and have a meaning that depends on the Scheme implementation.<br></blockquote><div><br></div><div>By reserved, you mean that it is not to be imported from user code?  If so, I am fine with it.  If not, my objection is that if you get some code that imports (chibi ...) and you try to run it on some other implementation, you will probably get an unknown module error.  But if it imports (_foo ...) and your implementation is using that name you don't know what will happen.</div><div><br></div><div>In any case, I think putting such modules under the implementation petname is probably good enough.</div><div><br></div><div><br></div><div><br></div><div>John Cowan          <a href="http://vrici.lojban.org/~cowan">http://vrici.lojban.org/~cowan</a>        <a href="mailto:cowan@ccil.org">cowan@ccil.org</a><br>The man that wanders far from the walking tree<br>        --first line of a non-existent poem by me<br></div><div><br></div></div></div>