Common LISP-style closures with Python
Antti J Ylikoski
antti.ylikoski at tkk.fi
Sat Feb 4 11:14:59 CET 2012
On 4.2.2012 4:47, Chris Rebert wrote:
> On Fri, Feb 3, 2012 at 4:27 PM, Antti J Ylikoski<antti.ylikoski at tkk.fi> wrote:
>> In Python textbooks that I have read, it is usually not mentioned that
>> we can very easily program Common LISP-style closures with Python. It
>> is done as follows:
>> # Make a Common LISP-like closure with Python.
>> # Antti J Ylikoski 02-03-2012.
>> def f1():
>> n = 0
>> def f2():
>> nonlocal n
>> n += 1
>> return n
>> return f2
>> i. e. we can have several functions with private local states which
>> are kept between function calls, in other words we can have Common
>> LISP-like closures.
> Out of curiosity, what would be non-Common-Lisp-style closures?
I understand that a "closure" is something which is typical of
functional programming languages. -- Scheme-style closures, for example.
I don't know Haskell, ML etc. but I do suspect that we could create
closures in those languages as well. Maybe someone more expert than me
More information about the Python-list