Shed Skin 0.9.3

28 views
Skip to first unread message

srepmub

unread,
Jan 9, 2013, 3:01:42 AM1/9/13
to shedskin...@googlegroups.com
hi all,

I have just uploaded the packages for shedskin 0.9.3. please try it out and let me know if there are any problems/regressions.

the full list of changes can be found here, as usual:

https://code.google.com/p/shedskin/wiki/releasenotes

so this is the third maintenance release in the 0.9 series. it does come with some new things though:

- danny implemented select.select (UNIX only for now) to use in his c64 emulator project. this project has grown to over 6,000 lines in the meantime (sloccount), but it still works fine with shedskin. that means it's probably the largest known program to compile.

- piotr tarsa and th.perl triggered me to improve support for 'arbitrary' code at the class level, for example:

class blergh:
    a, b, c = range(3)
    for x in range(4)
        ..
 
perhaps for 0.9.4 I can have a look at supporting instance-level access to these variables, e.g. self.a and blergh().b, where one has to use blergh.a and blergh.b at the moment, which is a minor but common annoyance.

- a new shedskin -g option, to disable GC warnings

besides these new features, I added 5 new interesting example programs, which brings the current total to 72 (!):

- pygasus, a NES emulator (yay!), which plays at least mario bros (included in shedskin/examples) well. it goes from about 10 FPS to about 100 FPS here.
- timsort, the famous python sorting algorithm, ported from java to pure python by dan stromberg (from python to c, from c to java, from java to python, from python to c++?)
- TarsaZLP, a data compression algorithm by piotr tarsa
- a conflict-driven satisfiability solver (I have been working on something similar a long time ago, so this is awesome for me personally)
- minpng, a minimal PNG encoder

thanks to the authors of these programs for sharing their code, and to those who reported problems in the months since 0.9.2.

for 0.9.4, I've become interested in the idea to perhaps use cygwin instead of mingw to support windows. mingw is really quite limited once you start looking at more advanced functionality such as os.popen2, select.select and such. in theory this could help a lot to lessen the pain of supporting windows correctly. if anyone else is interested in looking into this, let me know. I've added it to the 'easy tasks' wiki.

thanks!
mark.
pygasus_mariobros.png
Reply all
Reply to author
Forward
0 new messages