ash-table-fold ht alist-cons '())) (define (hash-table-copy ht) "Answer a copy of HT." (with-hashx-values (h a real-ht) ht (let* ((size (hash-table-size ht)) (weak (ht-weakness ht)) (new-real-ht ((guile-ht-ctor weak) size))) (hash-fold (lambda (k v ign) (hashx-set! h a new-real-ht k v)) #f real-ht) (make-srfi-69-hash-table ;real,assoc,size,weak,equiv,h new-real-ht a size weak (hash-table-equivalence-function ht) h)))) (define (hash-table-merge! ht other-ht) "Add all key/value pairs from OTHER-HT to HT, overriding HT's mappings where present. Return HT." (hash-table-fold other-ht (lambda (k v ign) (hash-table-set! ht k v)) #f) ht) ;;; srfi-69.scm ends here