Holy shit! Those benchmarks look absolutely incredible, outperforming Magma by a factor of 5 on average. Incredible work. This is the kind of work that makes Julia really look like the next step for scientific computing.<p><a href="http://nemocas.org/benchmarks.html" rel="nofollow">http://nemocas.org/benchmarks.html</a>
The Axiom [1] developers created a special purpose dependently typed language to capture mathematical abstractions: SPAD/Aldor [2]. Maxima uses Lisp. [3] These packages contain many man-years of work.<p>Julia is JIT-compiled, a Lisp (under the hood) and (somewhat) dependently typed.<p>Is that enough to port (or even transpile) modules from the big open source CAS without an entire rewrite? Is there enough similarity between CAS to make "foreign" modules even a remote possibility?<p>Otherwise, Nemo will likely not achieve a <i>great unification</i> of math packages, since the required effort goes way beyond the resources of a small dedicated group.<p>[1] <a href="http://www.axiom-developer.org/" rel="nofollow">http://www.axiom-developer.org/</a><p>[2] <a href="http://www.aldor.org/" rel="nofollow">http://www.aldor.org/</a><p>[3] <a href="http://maxima.sourceforge.net/" rel="nofollow">http://maxima.sourceforge.net/</a>
There's a little bit more information in Fredrik J's blog post: <a href="http://fredrikj.net/blog/2015/09/finding-nemo/" rel="nofollow">http://fredrikj.net/blog/2015/09/finding-nemo/</a>
If it is built on PARI how does it improve upon it?<p>Personally I want to know how to define algebraic number classes. I attempted and failed write my own algebraic number types in Python.