+
+
+(defun remhash (key hash-table)
+ (let ((obj (caddr hash-table))
+ (hash (funcall (cadr hash-table) key)))
+ (prog1 (in hash obj)
+ (delete-property hash obj))))
+
+
+(defun hash-table-count (hash-table)
+ (let ((count 0))
+ (map-for-in (lambda (x)
+ (declare (ignore x))
+ (incf count))
+ (caddr hash-table))
+ count))
+
+
+(defun maphash (function hash-table)
+ (map-for-in (lambda (x)
+ (funcall function (car x) (cdr x)))
+ (caddr hash-table))
+ nil)