I know that Common Lisp has different binding environments for functions and variables,
These will be namespaces, according to HyperSpec :
n. 1. , . The bindings of names to tags is the tag
namespace.'' 2. any mapping whose domain is a set of names.package . ''
( 1.)
, . , ?
, . , , , , . , , , , , , , . SO, .
, Common Lisp Lisp -2?
, , " Lisp -1 Lisp -n".
"2" , . , /, :
, . , , ; . , Lisp1 Lisp2, , . Lisp5 Lisp6 .
, " " " ". ( TAGBODY GO) ( BLOCK RETURN-FROM), Lisp .
ยน) PAIP, . 837:
(defun f (f)
(block f
(tagbody
f (catch 'f
(if (typep f 'f)
(throw 'f (go f)))
(funcall #'f (get (symbol-value 'f) 'f))))))