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

Reply via email to