@Franz, while I do not have an opinion on what is discussed here, I would like to correct an error that was repeated a few times: The Pypy interpreter for Python2.7 does *not* restrict what you can do - it is a *fully* compliant python interpreter.
You are probably thinking about the RPython language, which indeed is a part of the Pypy project and it is a very restricted subset of Python2. But RPython is *not* meant for use outside of writing the interpreter itself. On 1 October 2013 17:19, F. B. <[email protected]> wrote: > > > On Tuesday, October 1, 2013 8:15:21 PM UTC+2, Joachim Durchholz wrote: >> >> That's a good thing, though they'd still have to upgrade the system with >> each new Python version, so it's not buying the project THAT much. >> > > Well, that's partially true. Compared to PyPy, Jython, IronPython and > Cython, I think that work in Nuitka is minimal, as the language interpreter > is Python's own ast library. The other alternative interpreters often > reimplement again the whole of Python's language. > > But yes it makes sure that no deviations creep into the parsing, which >> is good. > > > PyPy's problem is that not all of Python's code is compatible, and the > same is true for Jython and IronPython. Cython instead should be able (I > think) to compile almost all of Python, but if you want to use static > typing, you need to use *cdef*, which breaks compatibility with CPython. > > In a few words, PyPy restricts the Python standard language, Cython > extends it. > > Nuitka is very interesting because it neither restricts nor extends the > Python language. Besides, they plan to add static typing upon translation > to C++ without breaking compatibility (it is suggested to use decorators). > > Here are some considerations by Nuitka's developers: > http://nuitka.net/posts/static-compilation-that-is-the-point.html > > > The main question, then, is: Is Nuitka viable? >> I.e. is it going to stay around as long as Sympy will? How fast do they >> fix showstopper bugs? Are type decorators and (hopefully) something >> smart for the data representation going to be implemented within our >> lifetimes? > > > Nuitka is relatively young as a project (I suppose around 2 years old), > and it is already able to compile almost every python library (at least so > they claim). > > Their first aim was to achieve an almost 100% compatibility with CPython, > after that, their second step will focus on performance. As far as I know, > they have just finished the compatibility part. Let's see what is coming > out of it in the future. It looks like a great replacement for both PyPy > and Cython. > > Alternatively, we could do our own Python-to-C++ translator. This would >> be easier than a full-fledged translator because we'd have to cover only >> those constructs that are actually used in Sympy, so we could take >> considerable shortcuts (at the cost of needing a list of coding >> restrictions, so this option would still come with attached strings). >> > > That would be a lot of work. In any case, regarding a possible > construction of our own translator, I would suggest to use Nuitka still, > then compile its C++ result to XML using *gccxml*, applying > transformation rules to the XML-equivalent C++ code, and then transforming > back to C++. > > XML has a lot of parsers, tree walkers, interpreters. C++ instead is hard > to edit as it is. > > -- > 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. > -- 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.
