r...@zedat.fu-berlin.de (Stefan Ram): >>Rebinding names is near-universal in programming, but usually names >>that are intended to be rebound, such as variables. > > To someone like me who has grown up with a LISP 1 > this is completely natural. > > |>( SETQ A ( LAMBDA () 'ALPHA )) > |(LAMBDA () 'ALPHA)
"Setq" is the dirty little secret of LISP. Scheme marks its shameful primitives with an exclamation mark. Thus, its assignment primitive is "set!". I wish people stopped talking about "name binding" and "rebinding," which are simply posh synonyms for variable assignment. Properly, the term "binding" comes from lambda calculus, whose semantics is defined using "bound" and "free" variables. Lambda calculus doesn't have assignment. More about variable binding here: <URL: https://en.wikipedia.org/wiki/Free_variables_and_bound_variables> Marko -- https://mail.python.org/mailman/listinfo/python-list