M
Mark Dufour
Hi all,
I have just released version 0.0.30 of Shed Skin, an experimental
(restricted) Python-to-C++ compiler.
Most importantly, this release adds (efficient) support for
user-defined classes in generated extension modules, which should make
it much easier to integrate compiled code within larger projects. More
specifically, compiled classes can now be instantiated on the CPython
side, and instances can be passed freely between CPython and Shed Skin
without any conversion taking place. (Instances of builtin classes are
still (recursively) copied, though, at the moment..)
Another major improvement was contributed by FFAO: a new 'set'
implementation, directly based on the CPython code. While I haven't
tested it on many benchmarks, it is clear that is now much faster, and
on one benchmark it even outperforms CPython on my system by about
35%.
Other notable changes include complex number support, mapping None to
NULL instead of 0 and printing it as 'None', as well as an important
type inference fix.
With support for user-defined classes in extension modules, it looks
like all the major pieces are now there to do a 0.1 release. The only
thing I'd really like to do before that, is to improve support for the
'os' module. Please let me know if you'd like to help out here!
Hopefully, with many details out of the way, I can have another good
look at type inference for 0.2..
Thanks,
Mark.
I have just released version 0.0.30 of Shed Skin, an experimental
(restricted) Python-to-C++ compiler.
Most importantly, this release adds (efficient) support for
user-defined classes in generated extension modules, which should make
it much easier to integrate compiled code within larger projects. More
specifically, compiled classes can now be instantiated on the CPython
side, and instances can be passed freely between CPython and Shed Skin
without any conversion taking place. (Instances of builtin classes are
still (recursively) copied, though, at the moment..)
Another major improvement was contributed by FFAO: a new 'set'
implementation, directly based on the CPython code. While I haven't
tested it on many benchmarks, it is clear that is now much faster, and
on one benchmark it even outperforms CPython on my system by about
35%.
Other notable changes include complex number support, mapping None to
NULL instead of 0 and printing it as 'None', as well as an important
type inference fix.
With support for user-defined classes in extension modules, it looks
like all the major pieces are now there to do a 0.1 release. The only
thing I'd really like to do before that, is to improve support for the
'os' module. Please let me know if you'd like to help out here!
Hopefully, with many details out of the way, I can have another good
look at type inference for 0.2..
Thanks,
Mark.