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

Binding terminology

> From: wilensky%larch.Berkeley.EDU@BERKELEY.EDU (Robert Wilensky)
> Some time ago I sent around a flame on the issue of the ``binding''
> terminology in Common LISP.  My contention is that the whole notion of
> binding as used in the LISP community is not particularly coherent.  The
> best solution to the many problems is to eliminate this usage altogether.
> While this may seem radical at first, I believe it is the only consistent
> solution, and the result is actually quite simple....

I'd like to add my hearty agreement with this proposal.  I distinctly
remember muttering "what the hell are they talking about?" when I
first tried to understand scoping, binding, variables, etc by reading
CLtL (of course NOW I understand perfectly...).

There's no reason why CL should adopt a peculiar terminology to
explain concepts for which accepted terms already exist in other
languages. Just frinstance, no other language I know of that has
recursion speaks of "different bindings of the same variable" to
explain what's going on with the parameter list of a recursively
invoked function.  The CL terminology conjures up the image of one
object with a changeable property, rather than of different objects,
each of which is referred to by the same name at different times.

Whether this is worth the implied documentation overhaul is a matter of
judgment.  I would say that at least if the "fix-up CLtL" subcommittee
is going to do a more or less complete re-write, then we should fold
this in.

John Cugini  <Cugini@icst-ecf>