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

Re: Vectors as functions



>>>>> "Lieven" == Lieven Marchand <mal@wyrd.be> writes:

Lieven> Michael Sperber <sperber@informatik.uni-tuebingen.de> writes:

>> Lexical binding means you can figure out for each occurrence of a
>> name, its binding form.  Consider this (probably not exactly
>> CL-correct, but you'll get my drift, I hope):
>> 
>> (let ((foo 23))
>>   (let ((name 'foo))
>>     (let ((foo 42))
>>       (set name -1)))
>>   foo)
>> 
>> At the place 'foo occurs, there's no way to tell what binding it's
>> associated with.  In fact, it may be associated with several different
>> bindings at run time, which is a hallmark property of dynamic binding.

Lieven> In CL, this will not do what I'm guessing you think it will
Lieven> do. [...]

I guess you're right, but also by virtue of something associated with
dynamic binding in Common Lisp.  (CLISP will actually run this code,
BTW.)

My point stands as stated, however, because that's what it would do in
the variant of Scheme suggested by Michael Vanier.

-- 
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla