chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] CHICKEN in production


From: John Cowan
Subject: Re: [Chicken-hackers] CHICKEN in production
Date: Wed, 15 Oct 2014 20:49:06 -0400
User-agent: Mutt/1.5.20 (2009-06-14)

"Jörg F. Wittenberger" scripsit:

> IMHO they are all the same too.  At least from a practitioners point
> of few.  I doubt all to many of those even knew that the Scheme
> standard would be vague on allowing NUL as part of a string or not.
> Let alone recalling this in practice.  And I don't know how many Scheme
> implementations did reject such strings.  I know however that there
> is so much code out there, which expects NUL as legitimate character
> in Scheme strings, that I'd recommend to not reject it by default for
> a long time to come.

R5RS only requires implementations to provide the ASCII printable
characters plus space and newline.  In R6RS, all Unicode scalar values
must be available.  R7RS-small is a compromise: it requires every ASCII
character to be representable as a character, but does not require that
strings can contain NUL.  All existing Schemes support NUL in strings,
though Chibi does not guarantee that all procedures work correctly on
such strings.

See <http://trac.sacrideo.us/wg/wiki/UnicodeSupport> for details.

> This time may be used to gather some experience from multiple parties.

Given the uproar, I suppose forbidding NUL is just not going to work.
~~ sigh ~~


> I submit that I'm personally even opposed to the original idea of
> adding the additional NUL.  Not only FORTH; with RScheme we had show
> stopper type of problems when we tried to get rid of the additional NUL
> once we had a case requiring the removal.  Furthermore my applications
> rarely pass a string to C where the trailing NUL is required.  But we
> handle a huge amount of short strings.  Therefore I expect the added
> overhead to degrade the total quality of chicken for me.

Fair enough.  Since this is purely a question of implementation, not of
specification, we could have a config-time option:  if false, strings
don't have a delimiting NUL (not included in the count) and are copied
by the FFI; if true, strings do have a delimiting NUL and are not
copied by the FFI.  In either case it would be necessary for the FFI to
check for embedded NULs, as it already does.

Is there anyone who can't live with that?

-- 
John Cowan          http://www.ccil.org/~cowan        address@hidden
Yes, chili in the eye is bad, but so is your ear.  However, I would
suggest you wash your hands thoroughly before going to the toilet.
        --gadicath



reply via email to

[Prev in Thread] Current Thread [Next in Thread]