On Sun, Nov 11, 2012 at 3:08 AM, Alan Watson <[email protected]> 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.

-- 
Alex
_______________________________________________
Scheme-reports mailing list
[email protected]
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports

Reply via email to