[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Overuse of strings

This page is part of the web mail archives of SRFI 83 from before July 7th, 2015. The new archives for SRFI 83 contain all messages, not just those from before July 7th, 2015.

Alan Bawden wrote:
Which moves me to wonder if the Scheme Editors are planning on registering
the "scheme:" scheme with the IETF and IANA?

URI systax is an incredibly ugly thing, as anyone who has ever written a
URI parser can tell you -- but there may well be some advantage in using URIs
if there is some way to leverage all the existing URI/URL/URN
infrastructure.  I.e., if something really useful happens if someone uses
"ftp://..."; in a Scheme module.

Be careful to distinguish URIs "identifiers" vs URLs "locators".
Some URIs, such as namespace URIs in XML, are just identifiers.
There is no expectation that the URI point to anything you can
access - it is just supposed to be a unique strings.  Putting it
in the form of a URI is one way to achieve that.

Persumably a "scheme://" URI is just that - an identifier.  Thus
there isn't any need to register "scheme:".

If it is the case that there is this advantage, then the Scheme Editors
need to register "scheme:" as an official URI scheme, otherwise we won't
-really- be using URIs -- there will always be the danger that someone else
could register "scheme:" with some -other- stntax and meaning, and then we
wouldn't be able to use that new kind of URI in our Scheme modules...

Of course we could.

   > We have symbols and s-exps. Let's use them.

   Why?  Saying something is "un-schemish" is not a reason.
   What would using symbols and s-exp gain?  What kind of
   operations would it make easier?

Almost any operation on a URI requires a URI parser.

A URI just uses as an identifier does not need a parser.

Though I'd have to read the proposal more carefully to say what kind of
operations the Editors envision on module and library names.

Of course any
S-expression representation also requires a parser -- but typically a much
simpler one written in terms of `car', `cdr' and `eg?'.

Right, but your system needs a URI parser anyway.
	--Per Bothner
per@xxxxxxxxxxx   http://per.bothner.com/