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

Re: Function cells



Danny,

I have to side with the Common Lisp / T people on this one.  Just
because most (but not all) function invocations use names that are bound
in a global, flat name space (which all modern Lisp systems are finding
ways to enrich), and most (but not all) variables are bound more locally
(in this lexical scope? in a dynamically enclosing but far-from-apparent
scope? in an enclosing lexical scope?), is not enough of a reason for
introducing a mechanism that adds complexity all over the system.

T takes the viewpoint that all identifiers are on a par.  The compiler
is able to take advantage of pragmatic information about things being
constant or not dynamically rebound, regardless of whether they are
functions or variables.  I imagine Common Lisp is the same.

Function cells seemed like a good idea at the time, just like
GLOBALVARS.  I think they were both pragmatic successes and semantic
mistakes.