Difference between `set`, `setq`, and `setf` in Common Lisp?
Originally, in Lisp, there were no lexical variables — only dynamic ones. And there was no SETQ or SETF, just the SET function. What is now written as: (setf (symbol-value ‘*foo*) 42) was written as: (set (quote *foo*) 42) which was eventually abbreviavated to SETQ (SET Quoted): (setq *foo* 42) Then lexical variables happened, and … Read more