★ wanayoo — archive 1999 http://www.stackless.com/Nouvelle recherche | Portail wanayoo

MI5T proudly presents

Stacklessssshhh J

Stackless Python

A Python Implementation That Does Not Use The C Stack

© 1999-Y2K Christian Tismer, Mission Impossible 5oftware Team

 

News from 2k0131: Version 1.02 passes all tests. Added feature: safe deletion of deeply nested structures. PowerPoint sheets from IPC8 available.

News from 2k0328: Microthreads are there. Much more speed and major design improvement.

2k0329: Version 1.1.1 minor bug-fix release (eval/exec)

Fact Sheet

·        Minimum C Stack resources

·        Unlimited recursion

·        100% binary compatible to Standard Python 1.5.2

·        8% faster executable on Win32

·        Full support for first-class continuations

·        Continuations included as extension module

·        As portable as Standard Python

·        Breaks 4K stack limit on PalmIII

·        Built-in support for lightweight threads (see http://world.std.com/~wware/uthread.html)

Soon to come…

There a quite a lot people currently helping me. A couple of new modules are under way, and there are some contributions on examples and documentation. They will appear here in a few days. A mailing list will follow, too.

Current Ports

·        Win9X/NT

·        Stackless Python was developed and optimized under Win98 and Visual Studio 6.0. Supported directly by Chris

·        Solaris

·        Successfully compiled by Jeff Collins

·        PalmIII

·        To come from Jeff, soon

License

Stackless Python and the continuation module have the same license policy as Standard Python for all users. It is free to use for everybody. Just he optimizations of the interpreter are restricted to Stackless Python. In order to apply them, Standard Python must become stackless.

Documentation

“””There have been a few attempts to implement generators and coroutines in Python. These were either of low performance, since they were implemented using threads, or limited by Python's recursive interpreter layout, which prevented switching between frames liberally. Changing Python to become non-recursive was considered a major, difficult task. Actually it was true, and I had to change truth before I could continue. J”””

For further information, have a look into my paper for the 8th International Python Congress:

Article in HTML format, as PDF file, Word 2000 document, or everything in a Zip compressed file. Some people also might find some older text useful. I’d like to hear which style is better and what you would like to see in the final documentation.

Developers might also be interested in Guido’s thoughts about continuations from the Python Developers list. Also have a look at a thread based Coroutine implementation from Tim Peters that can be now be implemented with Stackless Python.

PowerPoint slides (315k) from my IPC8 presentation are available as well.

Download

Windows 95/98/NT

The current source tree (ZIP file) of Stackless Python and Continuations was developed for MS Visual Studio™ 6.0, but it should be no problem to port it to any platform where Python can be compiled. If you have trouble building on a different platform, please contact me. I’m happy to accept patches and hints. The Win32 binary distribution comes with a Wise installer and should run on Win9x/NT immediately.

Stackless Python was built against the pre-unicode CVS branch. You can download this archive of Python-1.5.2 here and merge the Stackless Python sources in. A build against the original source distribution would give you some trouble.

Acknowledgements

I wish to thank Michael Hudson, Sam Rushing and Will Ware for their help on the Linux build and for their valuable input. More will be added after I included all the other contributions J

Christian Tismer 2000-01-23 – last update: 2000-03-29