Hi everyone,

I’ve seen the following functions (or their equivalents) inlined in many packages:

(defun hash-keys (hashtable)
  "Return a list of keys in HASHTABLE."
  (let ((keys '()))
    (maphash (lambda (k v) (setq keys (cons k keys))) hashtable)
    keys))

(defun hash-values (hashtable)
  "Return a list of values in HASHTABLE."
  (let ((values '()))
    (maphash (lambda (k v) (setq keys (cons k values))) hashtable)
    keys))

Is there any particular reason why we don’t have them as part of the standard set of hash functions? They are pretty useful and just about every programming language has them in its standard library.

-- 
Cheers,
Bozhidar