On Wednesday, October 2, 2013 10:53:10 AM UTC+2, Björn Dahlgren wrote: > > I've played around with Cython, Nuitka, shedskin etc. I would not > recommend Nuitka (see Stefan Behnels blog post on the topic) - furthermore: > it produces huge binaries. > Maybe you're right, but I would keep an eye on these projects.
> Based on what I've read lately mypy > <http://www.mypy-lang.org/index.html>might > be the silver bullet but it's quite new and I haven't found > the time to play around with it yet. > That uses annotators, it would break compatibility with Python 2. > On the note of de dynamizing the code base it might be worth looking into > param: > https://github.com/ioam/param > > http://pyvideo.org/video/1230/param-declarative-programming-using-parameters > > Sounds good, but that could be used simply to keep the code clean. > I've also played around automatic (cython) code generation of decorated > classes > https://gist.github.com/bjodah/6790854 > (requires Py3, cython & mako) but it got cumbersome so I didn't go any > further. > Indeed, you're right, translating Python to Cython is much easier than translating Python to C/C++, in fact Cython could work even if no translation takes place at all. Maybe that could be a candidate proposal as valid alternative to CSymPy. One could write a decorator to add both signature of parameters, and types of internal variables inside the function. Maybe then add a test in sympy's utilities to check that all local variables inside the function are signed, and write a tool similar to the previous *2to3*, maybe *sympy2cython*, to create a cython optimized code. What about this? It is far easier than writing CSymPy in C++ by hand, or trying translation into C++. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.
