I know that the purpose of the page is to compare syntax of common lisp, racket, clojure, and emacs lisp. But some examples could be more idiomatic, for instance instead of (defun add (a &rest b) (if (null b) a (+ a (eval (cons '+ b))))) One should avoid eval and use endp instead of null: (defun add (a &rest b) (if (endp b) a (apply #'add (+ a (first b)) (rest b))))
(defparameter *a* '(1 2 3)) (setf (car *a*) 3) And this is undefined behavior because it mutates literal constant. I stopped reading further. The CL column is so bad.
(defparameter *a* (list 1 2 3))
and of course, mutating top-level variables is bad style.