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

Re: Overuse of strings



On 1/25/06, Alan Bawden <Scheme@xxxxxxxxxx> wrote:
>
>    Lauri Alanko wrote:
>    > So I suggest
>    >
>    > "hello"         -> hello
>    > "scheme://r6rs" -> (scheme r6rs)

A minor note no one has mentioned - we could use symbol URIs
instead of strings: "scheme://r6rs" -> scheme://r6rs

> 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.

I actually think ftp://... (and http://... etc.) would be a horrible mistake
to implement, causing security, network and versioning nightmares.
Extensions could be made to relieve this, such as

  http://www.acme.com/wiley/helicopter?version=1.1&md5=...

but this is getting extremely ugly.

Another questions is that of the semantics of remote module access.
The module needs to be accessed both at compile time and load time,
but do we cache it in between, or do we in fact implicitly install it?
Software should never be installed implicitly (or unknown software
executed) without explicit confirmation from the user.  Which means
you'd suddenly be popping up confirmation dialogs when users run code
referring to remote URIs.  At this point there is no added convenience
and much greater confusion (and inability to run non-interactive code)
than a tool which can scan a library and update or install any modules
it imports from an external registry.

It may make sense to dumb things down and automate everything when
installing applications for grandma, but we're programmers, we're
perfectly capable of installing libraries ourselves.

--
Alex