Welcome to the CHICKEN Scheme pasting service
updated sjamaan's min-weak-test w/ scheme.write import added by klovett on Sat Aug 8 20:17:10 2026
;use_chicken 6 csc -block -strict-types -O3 -d0 min-weak-test.scm ;comment out sexp-comment 4 bug #; ;FIXME Creates Strong Refs! (import (scheme write)) (import (scheme base) (chicken base) (chicken fixnum) (chicken gc) (srfi 69 hash) (srfi 69 weak fix)) (define ENOUGH 700) ;to trigger a table resize (let ((ht (make-hash-table #:test equal? #:hash equal?-hash #:initial 'foo #:size 500 #:min-load 0.45 #:max-load 0.85 #:weak-keys #t #:weak-values #t)) ) (do ([i 0 (fx+ i 1)] [kv (gensym) (gensym)] [kvs '() (cons kv kvs)]) [(fx= i ENOUGH) kvs] (hash-table-set! ht kv kv)) (gc #t) ;!! The GC Should be Enough (gc #t) ;?? -size uses same bwp-object? test (print "Size (after drop & gc): " (hash-table-size ht)) ;?? -clean! uses same bwp-object? test (hash-table-clean! ht) (print "Size (after hash-table-clean!: " (hash-table-size ht)) )