[gambit-list] Module system ELS20 presentation

Lassi Kortela lassi at lassi.io
Mon Apr 27 12:35:06 EDT 2020


> Do we want advertising for commercial services in library names in Scheme?
I'd leave that up to users. Is there a particular way we can restrict 
it? If we have a lib.scheme.org it will hopefully be neat enough that 
people will voluntarily want their libraries to have scheme.org instead 
of github.com.

More generally, any large-scale distributed namespace is going to end up 
with lots of messy names. I don't think there's a general way to avoid 
that problem (other than not being popular enough to have mutually 
unknown people coining names :)

> To encode a protocol in library names is crazy if you ask me,
> especially because the most popular protocol changes over time as you
> write.

Fully agreed.

> But without the protocol, we don't have URLs anymore.

 From Python 3:

 >>> import urllib.parse
 >>> urllib.parse.urlparse("example.com/foo")
ParseResult(scheme='', netloc='', path='example.com/foo', params='', 
query='', fragment='')

So if you give it a URL without a scheme, it returns scheme='' which we 
can fill in with the default.

I'm not sure what the RFCs say about such URIs, but that can be remedied 
with a specification like "parse as a URI; if invalid, try prepending 
https:// and parsing again". It shouldn't be hard to come up with a 
practical rule.

> I guess that most R7RS systems will map the library
> `(foo.com/bar/baz)' to the same file system location as `(foo.com bar
> baz)'. To me, this shows some flaws in the approach.
> 
> To use the example from above, GitHub may distribute a library
> `(github.com hacker foo)' under this proposal. Mr. Hacker owning a
> GitHub account wants to distribute `(github.com/hacker foo)'. This
> won't work without a clash.

Good point. I'd advocate for standardizing a simple rewriting and 
filename mapping engine to work around problems like this (which I 
believe will come up no matter what kind of practical naming scheme we 
choose).




More information about the Gambit-list mailing list