#| -*-Scheme-*-
-$Id: hashtb.scm,v 1.11 1993/10/11 10:59:38 cph Exp $
+$Id: hashtb.scm,v 1.12 1993/10/12 22:19:02 cph Exp $
Copyright (c) 1990-93 Massachusetts Institute of Technology
(define (strong-cdr entry) (cdr entry))
(define (strong-set-cdr! entry datum) (set-cdr! entry datum))
-(define (hash-table/strong-constructor key-hash key=?)
+(define (strong-hash-table/constructor key-hash key=?)
(hash-table/constructor key-hash key=? cons #t car cdr set-cdr!))
-(define (hash-table/weak-constructor key-hash key=?)
+(define (weak-hash-table/constructor key-hash key=?)
(hash-table/constructor key-hash key=? weak-cons weak-pair/car?
weak-car weak-cdr weak-set-cdr!))
\f
(define (initialize-package!)
(set! address-hash-tables '())
(add-primitive-gc-daemon! mark-address-hash-tables!)
- (set! make-eq-hash-table (hash-table/weak-constructor eq-hash eq?))
+ (set! make-eq-hash-table (weak-hash-table/constructor eq-hash eq?))
;; EQV? hash tables are weak except for numbers and #F. It's
;; important to keep numbers in the table, and handling #F specially
;; makes it easier to deal with weak pairs.
(lambda (entry datum)
(system-pair-set-cdr! entry datum))))
(set! make-equal-hash-table
- (hash-table/strong-constructor equal-hash equal?))
+ (strong-hash-table/constructor equal-hash equal?))
(set! make-symbol-hash-table make-eq-hash-table)
(set! make-object-hash-table make-eqv-hash-table)
(set! make-string-hash-table
- (hash-table/strong-constructor string-hash-mod string=?))
+ (strong-hash-table/constructor string-hash-mod string=?))
unspecific)
(define (check-arg object default predicate description procedure)
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.202 1993/10/10 10:08:20 cph Exp $
+$Id: runtime.pkg,v 14.203 1993/10/12 22:19:14 cph Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
hash-table/set-entry-datum!
hash-table/set-entry-value!
hash-table/size
- hash-table/strong-constructor
- hash-table/weak-constructor
hash-table?
make-eq-hash-table
make-equal-hash-table
make-string-hash-table
make-symbol-hash-table
set-hash-table/rehash-size!
- set-hash-table/rehash-threshold!)
+ set-hash-table/rehash-threshold!
+ strong-hash-table/constructor
+ weak-hash-table/constructor)
(initialization (initialize-package!)))
(define-package (runtime history)
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.202 1993/10/10 10:08:20 cph Exp $
+$Id: runtime.pkg,v 14.203 1993/10/12 22:19:14 cph Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
hash-table/set-entry-datum!
hash-table/set-entry-value!
hash-table/size
- hash-table/strong-constructor
- hash-table/weak-constructor
hash-table?
make-eq-hash-table
make-equal-hash-table
make-string-hash-table
make-symbol-hash-table
set-hash-table/rehash-size!
- set-hash-table/rehash-threshold!)
+ set-hash-table/rehash-threshold!
+ strong-hash-table/constructor
+ weak-hash-table/constructor)
(initialization (initialize-package!)))
(define-package (runtime history)