[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: string-map arg order
From: |
Alex Shinn |
Subject: |
Re: string-map arg order |
Date: |
03 Sep 2001 16:56:12 -0400 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/21.0.104 |
>>>>> "Dirk" == Dirk Herrmann <address@hidden> writes:
Dirk> However, I fully agree with you about the problems of
Dirk> multiple-width encodings: In case of multiple threads, every
Dirk> access to one of a string's characters needs to recompute
Dirk> the memory location of that character, because some other
Dirk> thread might have changed the string and even replaced some
Dirk> characters of different encoding widths.
That's funny, I've reversed my initial opinions of variable-width
encodings, and in fact just a few minutes ago got a utf-8 based
version of Guile to pass the test-suite :)
After taking Thi's advice and looking through the archives, I found a
discussion from last November. This referenced a proposal Jim Blandy
made in August 1999 (no archives on this), still available in
doc/mbapi.texi. The proposal was utf-8 based, and there ensued a lot
of arguing about the efficiency of variable-width encodings, but no
conclusions and eventually the thread died out. But the proposal
seemed more than reasonable, and after thinking about it also seems to
be the only realistic option if we want to be compatible with existing
Guile projects/modules as well as continue to provide easy integration
with C libraries.
So with some cut and paste and minor embellishments, Jim's mbapi.texi
became mbapi.[ch], and a few primitives like string-{length,ref,set!}
were modified to be multi-byte aware. Of course, there's lots more
that needs to be done (port character handling, shared-substrings,
case conversions, srfi-13,14, regexps, etc.), and probably the only
reason it passed the tests was because they're already 7-bit clean and
my utf-8 tests are not very extensive, but it's a start.
Should I polish what I have now and document/rationalize it, or should
I keep going until I have a mostly complete implementation (everything
but regexps should be straightforward)?
--
Alex Shinn <address@hidden>
- Re: string-map arg order, Dirk Herrmann, 2001/09/03
- Re: string-map arg order,
Alex Shinn <=
- Re: string-map arg order, Dirk Herrmann, 2001/09/03
- Re: string-map arg order, Alex Shinn, 2001/09/03
- Re: string-map arg order, Dirk Herrmann, 2001/09/04
- Re: string-map arg order, Alex Shinn, 2001/09/04
- Re: string-map arg order, Dirk Herrmann, 2001/09/05
- Re: string-map arg order, Alex Shinn, 2001/09/05
- Re: string-map arg order, Dirk Herrmann, 2001/09/06
- Re: string-map arg order, Alex Shinn, 2001/09/06
- Re: string-map arg order, Dirk Herrmann, 2001/09/06
- Re: string-map arg order, Alex Shinn, 2001/09/06