On Wed, Feb 18, 2009 at 9:20 AM, mabshoff <mabsh...@googlemail.com> wrote: > > > > On Feb 18, 8:37 am, Martin Albrecht <m...@informatik.uni-bremen.de> > wrote: >> > So I'd like to know whether the focus should be on trying to >> > get Macaulay2 integrated in Sage, or to develop this stuff natively in Sage >> > using Macaulay2 as a cheat sheet (= porting functionality to Sage bit by >> > bit, I guess is what I'm saying). >> >> Hi, due to the issues pointed out by Michael I guess porting stuff to Sage >> should be the preferred option for now. I guess a start would be to figure >> out what user's really really like about M2 and then see what we can do about >> that. However, that strategy might not be well received by the audience of >> SD14? > > I can imagine that will not help. Today I am surprised that no one > ever made a push back in the good old days of 2006 to include M2 in > Sage since back then the hurdle was much, much lower.
That's not quite right. In 2004 and also a little in 2005 I *visited* Dan Grayson for several days at UIUC and had many long discussions with him about the design and implementation of computer algebra systems, including Mathematica (he played a major role in implementing the first version), Macaulay 2, Python, etc. This was when Sage was just starting. For a while Dan lobbied for me to build Sage on top of Macaulay 2 instead of Python. I learned quite a lot from Dan about math software, and also learned how difficult implementing and supporting a computer algebra system is, and in particular how hard designing a programming language is. I chose Python for a number of reasons, with one big reason being that Dan appropriately scared me away from trying to design and implement my own programming language from scratch. In 2005 when it became clear that we needed a serious library or system for commutative algebra, the only options were Macaulay 2 and Singular. It was relatively easy to build Singular on a wide range of platforms, including Linuxes, Cygwin, and OS X. Macaulay 2, on the other hand, was impossible for me to build on a wide range of systems; I'm not sure the situation has improved. Also, at the time Singular appeared to be a much more active (and stable) project than Macaulay 2. Today it appears that Macaulay 2 is under more active development than Singular, but I can't really tell since Singular's development model is fairly closed. As of 2009, I think Macaulay2 should not go into the core of Sage as a standard package unless it were clearly superior to Singular, *and* Singular would be removed from Sage. I don't see that happening. We've been very good at managing complexity in the Sage project, but we're only human, and I do not think it is reasonable for us to try to manage Macaulay2 + Singular + a billion other things, and the corresponding build issues that would entail. We do have to maintain some focus and for now at least acknowledge that we can't do everything at once. Martin said: > should be the preferred option for now. I guess a start would be to figure > out what user's really really like about M2 and then see what we can do about > that. However, that strategy might not be well received by the audience of > SD14? I think being completely *honest* and forthright about what the Sage project can and can't do is the best approach. The point of this workshop should be to listen to what user's want, and see whether there is any way we can provide that given our resources and enthusiasm to improve the world of mathematical software. I'm guessing the best thing to do regarding M2 will be to think of ways to much more greatly improve the Sage <--> M2 interface. For example, one coding project I suggested is to embed the Python interpreter in M2, and hence make it possible for M2 users to call Sage at the C-library level. Conversely, we could try to make a better Sage --> M2 C-level interface. We could also make much more high-level wrapping. We should also make it vastly easier to build an optional M2 spkg. -- William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---