Sunday, January 25, 2009

Shed Skin 0.1

(Shed Skin is an experimental (restricted-)Python-to-C++ compiler.)

After several years of development and thirty releases, I have finally released Shed Skin 0.1. While still experimental, all the basic pieces are now in place:

-type inference that works for many smallish programs
-support for a useful subset of Python
-support for a good subset of the standard libraries (about 17 modules, such as random, re, os, os.path..)
-extension module generation (including extension classes)
-support for the most common platforms

For this release, I was able to add a Jpeg decoder, at 1,200 lines, an iPod Shuffle programmer, at 600 lines, and a mastermind program to the set of example programs. This brings the total number of example programs to 30, at about 9,000 lines in total.

For Shed Skin 0.2, I hope to be able to focus on improving type inference scalability. So far, I've spent surprisingly little time on type inference itself, because what I had worked well enough for most test cases. I have quite a few ideas to further improve scalability, and am sure some of these will help a lot.

This release would not have been possible without the generous help of Google (through their GSOC and GHOP programs) and the following people (please let me know if I missed someone):

-B********e
-Brian Blais
-Paul Boddie
-Djamel Cherif
-Mark Dewing
-James Coughlan
-Michael Elkins
-FFAO
-Luis M. Gonzales
-Karel Heyse
-Denis de Leeuw Duarte
-Van Lindberg
-David Marek
-Jeff Miller
-Joaquin Abian Monux
-Harri Pasanen
-SirNotAppearingInThisTutorial
-Dave Tweed
-Jaroslaw Tworek
-Pavel Vinogradov

Finally, I dedicate this release to Hai Fang Ni. Thanks for all your support, and a happy Chinese newyear!!

8 comments:

Paul Boddie said...

Congratulations! For the record, I didn't really help out that much, but I'll try and look at Shed Skin a bit more actively this year. ;-)

For those of you, like me, who keep forgetting where to download the code, here's the link:

http://code.google.com/p/shedskin/

asmodai said...

Congratulations Mark!

I know you've been putting a lot of time and effort into it.

Hope you're enjoying Spring festival with your girl and say hi to her. :)

James said...

Congratulations!

I also hope to find more time to play with Shed Skin in 2009.

Congratulations also on being mentioned in the latest (3rd) edition of Learning Python.

-James

André said...

Congratulations!

This is, I believe, a major milestone for Shed Skin. Hopefully you will get a lot more interest in it from this point on.

philhassey said...

Congrats! I'm quite excited to take a look at it :)

IanOzsvald said...

Excellent milestone! Well done, I'm glad you've reached v0.1.
I don't have another project like the neural-network problem to play with as yet but when I do I'll be trying extension support.
Cheers,
Ian.

Christopher said...

I totally love the work you have done. Using shedskin, I was able to speed up my science fair project's code by roughly 4 times over psyco and over 80 from python alone. I would love to give you a shout-out on my trifold, so 1) would that be ok with you? and 2) do you have any logo or anything that I could include on my trifold rather than just writing out "shedskin"?

Thanks so much for all your (and other contributors) hard work. This is definitely one of my favorite python utilities.

srepmub said...

hi christopher,

there's no real logo yet. I do have an idea for one, a samurai sword wrapped in snake leather, as seen on the cover of my thesis:

http://mark.dufour.googlepages.com/shedskin.pdf

but I wouldn't know where to start making this into a stylized logo.. if anyone would be interested :)

it's always nice to hear shed skin works for someone. and of course, please feel free to add any kind of reference to your trifold!