[sldev] What's on my plate

Kamilion kamilion at gmail.com
Fri Jul 27 23:47:36 PDT 2007


> * Client-side Scripting Engine: Python would solve the immediate need
> plus Blender is already integrated with python. I have my own VM that I
> would love to evolve further in-world and have been working on it slowly.


Stackless Python seems like it might be well suited to this.
http://www.stackless.com/

The advantages of Stackless seem like a natural for this project;
which should allow the scripts running in it to extend to the entire
SL client from network to rendering, including possibly exposing
external windows for inventory with drag and drop and other fun
things. I believe EVE online is already using it.

I've been screwing around with it myself on my Playstation Portable.
http://themindcaster.blogspot.com/
Works pretty nicely, and the tasklets and channels make things easy.

--


About Stackless
An introduction for newcomers

Stackless Python is an enhanced version of the Python programming
language. It allows programmers to reap the benefits of thread-based
programming without the performance and complexity problems associated
with conventional threads. The microthreads that Stackless adds to
Python are a cheap and lightweight convenience which can if used
properly, give the following benefits:

    * Improved program structure.
    * More readable code.
    * Increased programmer productivity.

Features

For all the convenience gained through using Stackless, there is
really only a minimal amount of functionality exposed through the
stackless module. You can get more familiar with these aspects by
reading the information provided in the following pages:

    * Microthreads. Tasklets wrap functions allowing them to be
launched as microthreads.
    * Channels. Channels can be used for bidirectional communication
between tasklets.
    * Scheduling. A round robin scheduler is built in. It can be used
to schedule tasklets either cooperatively or preemptively.
    * Serialisation. Tasklets can be serialised to disk through
pickling for later resumption of execution.


More information about the SLDev mailing list