[Stackless] Invitation to Present at PyCon 2007

Christian Tismer tismer at stackless.com
Wed Nov 1 01:03:26 CET 2006

Jeff Rush wrote:
> Christian Tismer wrote:
>> At the same time, I would like to talk about the recent development,
>> the changes in general thinking and how they influenced the
>> reimplementation of Stackless in PyPy.
>  >
>> I have no clue at which conference to put such a talk, if not
>> at PyCon?
>> about to finish a proposal unless you say "forget it" - chris
> No, please proceed with your talk submission Chris.  Your talks are always 
> interesting.  It still fits into PyCon, along the line of the various "State 
> Of" talks we run -- State of Python, State of Zope, and of course State of 
> Stackless. ;-)

Ok thank you so much.
This is roughly what I think it should be, although
this might change a bit since I'm still recovering,
and there might be some yet unexplored memories.
Right now, my idea goes like this:


As a surprise for people who think they know Stackless,
we present the new Stackless implementation For PyPy,
which has led to a significant amount of new insight
about parallel programming and its possible implementations.
We will isolate the known Stackless as a special case of
a general concept.

This is a Stackless, not a PyPy talk. But the insights presented
here would not exist without PyPy's existance.


Stackless has been around for a long time now. After several
versions with different goals in mind, the basic concepts of
channels and tasklets turned out to be useful abstractions,
and since many versions, Stackless is only ported from version
to version, without fundamental changes to the principles.

As some spin-off, Armin Rigo invented Greenlets at a Stackless
sprint. They are some kind of coroutines and a bit of special
semantics. The major benefit is that Greenlets can run on
unmodified CPython.

In parallel to that, the PyPy project is in its fourth year
now, and one of its goals was Stackless integration as an option.
And of course, Stackless has been integrated into PyPy in a very
nice and elegant way, much nicer than expected. During the design
of the Stackless extension to PyPy, it turned out, that tasklets,
greenlets and coroutines are not that different in principle,
and it was possible to base all known parallel paradigms on
one simple coroutine layout, which is as minimalistic as possible.

It is a side effect of PyPy's simplicity, that even led to a
pretty new concept for Stackless, that allows all the different
switching paradigms to co-exist without interference. Users
could go further and implement their own concurrency model,
and it would neither interfere with others nor cost performance.

Today's Stackless can be seen as a special case of the more general
implementation given for PyPy. This implementation can also be taken
as a reference about how Stackless is meant to be implemented.
This reference implementation is completely written in Python.

The talk will try to isolate the crucial design decisions in
Stackless from implementation details. The reduced concepts
are together the essentials of Stackless.


I have to say that I'm not too fond of this; it sounds a
bit like a homily than the technica, report it should be.
Well its my first English text since May. I'm putting it
as-is, just to have something, to be enhanced.

cheers - chris

Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/

Stackless mailing list
Stackless at stackless.com

More information about the Stackless mailing list