Generic Lisp a Lisp -n?

I know that Common Lisp has different binding environments for functions and variables, but I believe that it also has a different binding environment for tag labels. Are there even more binding environments than this? If so, is it fair to classify Common Lisp as Lisp -2?

This question is not meant as pedantry or bikes, I just want to understand Common Lisp better and hopefully get some pointers to where to go deeper into its specification.

+5
source share
4 answers

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))))))
+9

PAIP , "Common Lisp " (. 836).

:

  • go
  • return-from

comp.lang.lisp "" "". , Norvig "".

+3
+1

All Articles