[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Infinite recursion w/ utf8:(string-hash ...)
From: |
Alex Shinn |
Subject: |
Re: [Chicken-users] Infinite recursion w/ utf8:(string-hash ...) |
Date: |
Thu, 15 Sep 2005 19:43:53 -0500 |
User-agent: |
Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.3 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI) |
At Thu, 15 Sep 2005 15:51:05 -0700, Kon Lovett wrote:
>
> In utf8.scm:
>
> (define string-hash (make-string-hasher byte-string-hash))
> (define string-hash-ci (make-string-hasher byte-string-hash-ci))
>
> And in byte-string.scm:
>
> (define byte-string-hash string-hash)
> (define byte-string-hash-ci string-hash-ci)
>
> Where byte-string-hash is supposed to alias the srfi-13 string-hash
> proc.
Yes, this is correct. byte-string is loaded first, binding
byte-string-hash to the srfi-13 procedure. utf8 then passes that
*value* to a higher order procedure to create a new procedure, so
there is no circular reference. Indeed, the test suite passes this.
There is a loop, but that's for a different reason. When you don't
pass any position arguments it uses a shortcut case, and I
accidentally wrote "string-hash" instead of "proc" for that case.
I've fixed this, added it to the test suite and will upload the fix
soon. Thanks for reporting it.
> Another real good reason not to (import utf8).
I'm sorry I haven't had a chance to look at your other problem, but
neither Felix nor I have been able to reproduce it. I'll have time to
check it on a Mac this weekend. However, this has nothing to do with
utf8, case-map is a separate optional module.
--
Alex