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

Re: [Scheme-reports] Comments on draft 7

On Sun, Nov 11, 2012 at 3:08 AM, Alan Watson <alan@x> wrote:
It's difficult to understand this prohibition. C strings containing non-terminal NUL characters are not prohibited:

  char s[] = "abc\0efg";

Sure, most C library functions will interpret this string as equivalent to the C string "abc" and most C-to-Scheme FFIs would convert this to the Scheme string "abc", but such ambiguities are not per se issues for Scheme code.

I think the existence of #\null at all is a wart, and
a throw-back to languages like C which require it.

In fact, the existence of all ASCII control characters
is a wart, a throw-back to languages with no separation
between binary and text.  I'd really like a language
where strings really are just text, and characters represent
letters and punctuation from written scripts.  In practice
ASCII is convenient, and almost all implementations will
support it (including #\null), but to forbid any attempts at
something cleaner is sad.


Scheme-reports mailing list