Lisp-likeness

Marcin 'Qrczak' Kowalczyk qrczak at knm.org.pl
Tue Mar 15 18:00:43 EST 2005


tar at sevak.isi.edu (Thomas A. Russ) writes:

>> >(defun addn (n)
>> >	  #'(lambda (x)
>> >	      (+ x n)))
>> 
>> The same as 
>> def addn(n):
>> 	def fn(x):
>> 		return n + x
>> 	return fn
>
> Is this really equivalent?
>
> What happens if you call addn more than once with different
> parameters.  Will you get different functions that you can
> use simultaneously?

Yes.

It also behaves correctly when a variable it refers to is later
mutated.

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak at knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/



More information about the Python-list mailing list