Programming with Stackless Python



The Stackless extension brings lightweight processes to Python, opening a new style of programming with dynamic heap access.

Stackless Python by Christian Tismer extends the popular Python interpreter, adding elements that facilitate the development of scalable applications. Small, independent program sections are encapsulated in tasklets. These tasklets use channels to communicate in an approach reminiscent of the Erlang and Oz languages. The name Stackless refers to the encapsulated functions that tasklets allow to be swapped out from stack to heap (dynamic) memory. Data stored at this location can be accessed at any time, regardless of the order in which it arrived. Figure 1 shows how this approach can save memory, especially with parallel functions.