Re: Overuse of strings Lauri Alanko (24 Jan 2006 17:59 UTC)
Re: Overuse of strings Per Bothner (24 Jan 2006 19:51 UTC)
Re: Overuse of strings Alan Bawden (25 Jan 2006 00:44 UTC)
Re: Overuse of strings Alex Shinn (25 Jan 2006 01:39 UTC)
Re: Overuse of strings Per Bothner (25 Jan 2006 02:04 UTC)
Re: Overuse of strings Alan Bawden (25 Jan 2006 02:50 UTC)
Re: Overuse of strings Lauri Alanko (25 Jan 2006 18:19 UTC)
Re: Overuse of strings Neil Van Dyke (25 Jan 2006 19:07 UTC)
Re: Overuse of strings bear (25 Jan 2006 22:40 UTC)
Re: Overuse of strings Lauri Alanko (26 Jan 2006 07:35 UTC)
Re: Overuse of strings Alex Shinn (26 Jan 2006 01:37 UTC)
Re: Overuse of strings Neil Van Dyke (26 Jan 2006 02:03 UTC)
Re: Overuse of strings Anton van Straaten (26 Jan 2006 10:09 UTC)
Re: Overuse of strings Lauri Alanko (26 Jan 2006 10:25 UTC)
Re: Overuse of strings Alex Shinn (26 Jan 2006 02:17 UTC)
Re: Overuse of strings Ray Blaak (26 Jan 2006 06:56 UTC)

Re: Overuse of strings Lauri Alanko 24 Jan 2006 17:59 UTC

I just felt obligated to put in my $.02 here and join in opposing the
string syntax for <lib-path>. It is decidedly un-schemish.

Strings are for I/O: they are character sequences that contain data that
is transmitted to humans, the operating system or to other processes,
They should not be used as identifiers (symbols and unique
heap-allocated objects are for that), nor as containers of structured
data (list structures are for that).

>From the SRFI:

(library "hello" "scheme://r6rs"
    (display "Hello World")
    (newline))

Here "hello" is used as an identifier: we are not the least bit
interested in the fact that it begins with 'h' and ends with 'o', we are
only interested in whether someone imports a library with exactly the
same name or not.

Likewise, "scheme://r6rs" is used to represent structured data: it is an
URI with the scheme "scheme" and the authority "r6rs". Again, the
textual contents of each of these components aren't interesting, merely
the facts that both of these are identifiers with a special meaning.

So I suggest

"hello"         -> hello
"scheme://r6rs" -> (scheme r6rs)

Only users of lesser programming languages are forced to stick with
strings to represent identifiers and structured data. We have symbols
and s-exps. Let's use them.

Lauri