[IronPython] Hosting IronPython 2.X in .NET app

Sylvain Hellegouarch sh at defuze.org
Wed Jul 11 09:16:12 CEST 2007


Ken Manheimer a écrit :
> On 7/10/07, *M. David Peterson* <xmlhacker at gmail.com 
> <mailto:xmlhacker at gmail.com>> wrote:
>
>
>     On 7/10/07, *Sylvain Hellegouarch* < sh at defuze.org
>     <mailto:sh at defuze.org>> wrote:
>
>
>         Not to worry :)
>         However the question stands, will Python support closures (or
>         does it
>         already via lambda expressions?)
>
>
>     Depends on your interpretation of what a closure is.  One
>     interpretation is that w ith closures you can, for example, have a
>     series of lambda expressions, evaluate up to a certain point, add
>     a marker, store it, and then continue where you left off at a
>     later date.
>
>
> just to clarify, it sounds like you may be mistaking terminology here.
>
> the elementary structures by which computations can be stored for 
> later continuation are called just that - continuations.  closures, on 
> the other hand, are an organization of program state that can be 
> associated with an object - typically to implement static scoping, as 
> was done for python functions and methods around, someone said, python 
> 2.1.  i seem to recall that ruby manifests blocks as first class 
> objects, and associates closures with them, as well.
>
> (continuations are interesting, but mostly in the abstract - they're 
> not generally of interest for direct use by programmers.  they're the 
> mother of all control flow structures - all the others can be 
> expressed and built using them, but they're very low-level - you would 
> hardly ever want to program with them directly. stackless python uses 
> (used?) them as a key means of building the other flow control 
> structures without using the machine (c, in that case) stack, and they 
> enable economies for massive parallelism that most of us don't need 
> (and couldn't handle without major attention).  generators provide the 
> means to express much of what programmers practically want in this 
> vein, and the recent refinements to enable use of generators as 
> coroutines (pep 342 <http://www.python.org/dev/peps/pep-0342/>) covers 
> most of the rest.  how these structures map to parallelism are up to 
> the language implementation.  guido has been actively disinterested in 
> incorporating continuations to the python definition, for various 
> reasons, and i don't expect that to change.)
>
> i couldn't resist this clarification, and hope i haven't mistaken what 
> you were saying (or, what i'm saying:-).
>
> -- 


Thanks Ken as well for this explanation. This is one of those confusing 
subject for me and you helped a lot here :)

Side note, talking about stackless, Arnar Birgisson just released 
yesterday a stackless version of the CherryPy HTTP server:

http://code.google.com/p/stacklessexamples/wiki/StacklessWSGI

Interesting days that is :)
- Sylvain



More information about the Ironpython-users mailing list