[Top][All Lists]

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

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

From: Jörg F. Wittenberger
Subject: Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal
Date: Wed, 10 Sep 2014 12:39:15 +0200
User-agent: Mozilla/5.0 (X11; Linux armv7l; rv:31.0) Gecko/20100101 Icedove/31.0

Am 09.09.2014 um 17:39 schrieb Oleg Kolosov:
On 09/04/14 13:30, "Jörg F. Wittenberger" wrote:
Am 29.08.2014 20:50, schrieb Oleg Kolosov:
On 08/23/14 19:35, Peter Bex wrote:
I've made a start on the wiki, at what we'd like CHICKEN 5 to be about.
I've remembered one more thing: why not stick the terminating '\0' at
the end of all strings in internal representation? This looks pretty
harmless but could make some common FFI uses a breeze.
Don't, please.

a) This would make "some forms of abuse" "safe anyway".  But internal
\0 would have to handled for correct programs anyway. Eventually one
ends up rewriting mostly working code at that point.

b) I don't recall the full story.  But we had precisely this problem
once with RScheme (which does have this terminating \0).  In the end
Donovan Kolbly (creator of RScheme) commented on the topic: "I was

Chicken-hackers mailing list
This might be entirely point of view issue,

Probably it is.

  but I don't see the problem
in allowing some abuse to gain performance, with the assumption that the
user knows what he is doing.

In the case I cited the problem was that the assumption was at some point built deep into the system. When we wanted to get it of the terminating \0 for some reason, we could not with reasonable effort. That's seen as bad here.

  In our commercial system we have few
applications where CHICKEN's string handling was found as a bottleneck
(indexing large number of database entries, filtering lists of thousands
of file names, etc.). Equivalent pure C version is few times (sometimes
order of magnitude) faster with the same algorithms. Even doing heavy
lifting in C and just pushing data back to CHICKEN hurts performance a
lot (our GUI is written in Scheme).

I'm avoiding chickens string handling as well, if I can.

reply via email to

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