[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Extent of function definition created by FLET/LABELS



    Date: 8 Apr 1986 18:06-EST
    From: NGALL@G.BBN.COM

    Is the following legal CL:

    (funcall (labels ((foo () (print "hello"))
		      (bar () (foo)))
	       #'bar))

    If not, where is it forbidden?

	    -- Nick

    P.S. It works in VaxLisp.

I'm very surprised CLtL does not say that the functions created by FLET
and LABELS have lexical scope (I think it does say that) and indefinite
extent (that's what it doesn't say).  Page 37 does say "most Common Lisp
data objects have indefinite extent."  I think you will find most
implementations will interpret FLET and LABELS to have indefinite
extent.