Hacker News new | ask | show | jobs
by utx00 6206 days ago
in cl, you can use defsetf to almost do the same. as a matter of fact, taking a cue from arc, you can write a macro like:

  (defmacro deftable (name)
    `(progn
       (defparameter ,name (make-hash-table))
       (defun ,name (k)
         (gethash k ,name))
       (defsetf ,name (k) (v)
         `(setf (gethash ,k ,',name) ,v))))
now you can do: (deftable client), which creates the hashtable, and then

(client 'phone) will retrieve the value,

(setf (client 'phone) '4444444) will set the value.