vsync <firstname.lastname@example.org> wrote:
| email@example.com writes:
| > Proofs are Programs
| > http://www.ddj.com/articles/2000/0013/0013g/wadler.pdf
| > http://www.ddj.com/articles/2000/0013/0013g/0013g.htm
| I'm curious... This article says that Lisp's lambda differs somewhat
| from the original term, and that Scheme "got lambda right". How so?
I suspect that he's referring to lambda variables in early Lisps
being dynamically scoped, and in Scheme being lexically scoped.
But that's moot now, since Common Lisp is lexically scoped, too. [*]
[*] Well, unless you shadow an existing dynamic variable, in which
case your "lexical" variable suddenly becomes a dynamic variable.
This is why the CL guys are *so* careful to textually flag global
variable names with those asterisks, since there's really no way
in CL to declare a top-level lexical variable. [Well, except with
some tricky symbol-macro hacks...]
Rob Warnock, 31-2-510 firstname.lastname@example.org
Network Engineering http://reality.sgi.com/rpw3/
Silicon Graphics, Inc. Phone: 650-933-1673
1600 Amphitheatre Pkwy. PP-ASEL-IA
Mountain View, CA 94043