Re: rnrs records: shadows previous definition of `dummy-1a78708d3c9406a3'

Ludovic Courtès <[email protected]> Sat, 23 May 2026 17:16:37 +0200
Newsgroups gmane.lisp.guile.devel,gmane.lisp.guile.user
Message-ID <[email protected]>
Hello,

Olivier Dion <[email protected]> skribis:

>   scheme@(guile-user)> (=3D (hash '(1 2 3 4 5) most-positive-fixnum)
>                           (hash '(1 2 3 4 5 6) most-positive-fixnum))
>     =3D> #t
>
> To me this screams that list hashing are fundamentally broken.  Only the
> first 5 elements are used for hashing.  This is why you got the same
> hash for both transformations.

One of the design goals for =E2=80=98hash=E2=80=99 is that it must be const=
ant-time.
Thus, by definition, it cannot traverse entire lists or vectors.

I don=E2=80=99t see how to avoid that.

Thanks,
Ludo=E2=80=99.