From: Chris Hanson Date: Sun, 23 Jan 2005 17:53:16 +0000 (+0000) Subject: Implement strong eq and eqv hash tables. X-Git-Tag: 20090517-FFI~1386 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=f2f0d7e7a33a1ab5e68ff6bec39c4972883adb92;p=mit-scheme.git Implement strong eq and eqv hash tables. --- diff --git a/v7/src/runtime/hashtb.scm b/v7/src/runtime/hashtb.scm index e6b1c2a47..25ce6e060 100644 --- a/v7/src/runtime/hashtb.scm +++ b/v7/src/runtime/hashtb.scm @@ -1,9 +1,9 @@ #| -*-Scheme-*- -$Id: hashtb.scm,v 1.31 2004/06/13 04:14:22 cph Exp $ +$Id: hashtb.scm,v 1.32 2005/01/23 17:53:05 cph Exp $ Copyright 1990,1991,1993,1994,1995,2003 Massachusetts Institute of Technology -Copyright 2004 Massachusetts Institute of Technology +Copyright 2004,2005 Massachusetts Institute of Technology This file is part of MIT/GNU Scheme. @@ -716,7 +716,9 @@ USA. (define address-hash-tables) (define make-eq-hash-table) +(define make-strong-eq-hash-table) (define make-eqv-hash-table) +(define make-strong-eqv-hash-table) (define make-equal-hash-table) (define make-string-hash-table) (define make-symbol-hash-table) @@ -728,9 +730,15 @@ USA. (set! make-eq-hash-table (hash-table-constructor (make-weak-rehash-type eq-hash-mod eq?))) + (set! make-strong-eq-hash-table + (hash-table-constructor + (make-strong-rehash-type eq-hash-mod eq?))) (set! make-eqv-hash-table (hash-table-constructor (make-weak-rehash-type eqv-hash-mod eqv?))) + (set! make-strong-eqv-hash-table + (hash-table-constructor + (make-strong-rehash-type eqv-hash-mod eqv?))) (set! make-equal-hash-table (hash-table-constructor (make-strong-rehash-type equal-hash-mod equal?))) diff --git a/v7/src/runtime/runtime.pkg b/v7/src/runtime/runtime.pkg index 394a0a953..f12501888 100644 --- a/v7/src/runtime/runtime.pkg +++ b/v7/src/runtime/runtime.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: runtime.pkg,v 14.528 2005/01/16 04:17:41 cph Exp $ +$Id: runtime.pkg,v 14.529 2005/01/23 17:53:16 cph Exp $ Copyright 1988,1989,1990,1991,1992,1993 Massachusetts Institute of Technology Copyright 1994,1995,1996,1997,1998,1999 Massachusetts Institute of Technology @@ -1793,6 +1793,8 @@ USA. make-eqv-hash-table make-object-hash-table make-string-hash-table + make-strong-eq-hash-table + make-strong-eqv-hash-table make-symbol-hash-table set-hash-table/rehash-size! set-hash-table/rehash-threshold!