Re: [Scheme-reports] DISCUSSION/VOTE: The character tower
Bear 07 May 2014 20:26 UTC
On Wed, 2014-05-07 at 10:08 +0200, Sascha Ziemann wrote:
> 2014-05-07 0:31 GMT+02:00 Bear <bear@sonic.net>:
> >
> > I would be rather upset if
> >
> > (string=? (string #\A #\x301) (string #\xc1)) ==> #f
>
> But there is a difference.
> #\A #\x301 is an Unicode expression and #\xc1 is a Unicode literal.
> You have to evaluate the first to get the second.
Well, no.
(string #\A #\x301) and (string #\xc1) are both expressions returning
a string. Unicode canonical equivalence says they should return the
same string. Apparently our standards committee believes that they
should return different strings, but I do not understand why.
> And if you cryptographically sign the first it would differ from the
> signature of the second.
That is a false distinction, and will lead to much wailing and
gnashing of teeth when, eg, signatures don't match documents,
authentication codes fail, etc ad nauseam, and it all falls on
application programmers and happens over and over, because the
scheme implementers are not allowed to fix it once and for all.
Bear
_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports