chicken-users
[Top][All Lists]
Advanced

[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




reply via email to

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