On Mon, 2011-09-05 at 07:32 +0200, Julien Puydt wrote: > Le 05/09/2011 02:41, leif a écrit : > > One shouldn't upgrade packages just for the sake of higher version > > numbers in Sage though, and there are packages where upgrading is > > indeed non-trivial, because of functional changes in upstream, or a > > lot of changes made by Sage to its current version. > > I can't help but notice that last part of the sentence is part of Dave > Neary's point. > > Snark on #sagemath > Tracking upstream changes and feeding back bug reports and fixes takes time. Axiom has only one upstream package (GCL) and it is a major step to upgrade but it is done on a reasonably regular basis. We are fortunate that Camm tests GCL's changes by, among other things, compiling Axiom, Maxima, and other large packages.
The other advantage is that Common Lisp is a standard so it is reasonably clear whether the failure is GCL or Axiom. Historically Axiom was written in MacLisp, then LispVM, and then Common Lisp. Since I had expertise in all three of these languages I did a fair amount of the porting and rewriting to Common Lisp. I have to say that it was not easy. The key advantage of Common Lisp is that we could change LispVM functions into either Common Lisp functions or macros without changing the code everywhere. If the new function implemented the LispVM or MacLisp semantics properly everything else "just worked". I see Sage efforts to keep up with OS changes (e.g. Lion) and package changes (e.g. Maxima) but I am unaware of any work to keep up with Python. Python is up to version 3.2.2 which is incompatible with 2.7. Plus, there is no standard for the language. It is clear that Sage is losing ground on the upstream development path. What happens when the python-based spkgs, such as SciPy, convert to 3.x? The time will come when all published materials about Python use 3.x syntax and semantics, at which point Sage will no longer be programmed in "Python". It happened to many languages (e.g. Fortran, C, Lisp, etc.). I don't believe that Python allows you to redefine standard Python functions and it doesn't have a macro facility so neither path used by Axiom is available for Sage. As pointed out in the article, the longer this continues, the harder, more expensive, and more disruptive the changes will be. Tim Daly -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org