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


I agree with BKPH that Label is a useful--I would say an integral--
part of Lisp.  It is the only way of writing pure recursive Lisp.
There is, of course, nothing holy about its current syntax or implementation,
but there must be SOMETHING which allows recursive functions without
(visible) side-effects.

The implementation where Label binds the function name atom's value to
the function has always been somewhat peculiar, but even that can be
made to work without requiring value application in general, if you're
willing to sacrifice that name's ability to have global function cells,
namely by giving it a subr property which points to a JCallF @vcell.
This even works with mixed-in compiled code.

Of course, this is a crock, and a better solution is desirable, but Label
should stay in some form.