On Sun, Apr 20, 2008 at 6:57 AM, David Joyner <[EMAIL PROTECTED]> wrote: > > Hi Martin, Bill: > > Thanks for these very interesting emails! Some of my reactions are below. > > - David Joyner > > On Sun, Apr 20, 2008 at 9:35 AM, Bill Page <[EMAIL PROTECTED]> wrote: > > > > Martin, > > > > I think discussing things like off the email lists does more damage to > > the community then it would if you were to be more public about these > > opinions. Are far as I am concerned, you have nothing to fear from > > exploring these ideas and other people might benefit greatly by your > > experience.
Yep. This is one of the basic axioms of how to run a successful open source project, according to http://producingoss.com/, much of which I agree with. > > Sage is not going away (It should not go away!) and I think the Axiom > > community needs to deal with how it should interact with Sage in the > > future. > > > > Regards, > > Bill Page. I hope Sage doesn't go away :-), since I really like open source math software. Certainly improving Sage/Axiom community interaction would be good. > > > > On Sun, Apr 20, 2008 at 3:10 AM, Martin Rubey <[EMAIL PROTECTED]> wrote: > > > I don't have the guts to send this to a public mailing list. I probably > > > should. If you want to, you have my permission. > > > > > > > > > "Alfredo Portes" <[EMAIL PROTECTED]> writes: > > > > > > > > Axiom is so huge, so if Sage would be a part of Axiom that just > handles > > > > > the web interface, why not? The part of Sage that deals with the web interface is written in pure Python and depends only on Python, Twisted, and Pexpect. At present it is somewhat tightly integrated into the Sage distribution. But this is only *temporary*, which we intend to change in the future, most likely this summer. Thus if you just want to have an Axiom GUI and or web notebook interface, you could just ship or depend on Python+Twisted+Pexpect+a small part of Sage. There is also Knoboo by some other Sage developers, which isn't as stable and full featured (yet!), but looks very nice: http://knoboo.com/ > > > > > > > > If you think Axiom is huge, then you need to look at Sage. It is > ~10x Axiom. The entire Sage distribution is about 5 million lines of code. Much of this is things like scipy (around 450 thousand lines), Python itself, etc., The core Sage library -- which we wrote in Python/Cython -- is now around 200 thousand lines. I don't understand the Axiom distribution enough to understand how big it is, but my impression is that it is *also* huge. Looking in the src/src/algebra directory there are many hundreds of thousands of lines of code (over 300,000 distinct lines just of dot-lsp files). By the way, how do you guys read some of this stuff? I looked in INTALG.lsp and it is pages of code that look like this: (PROGN (LETT #0# NIL |INTALG;palglogint|) (SEQ (LETT |q| NIL |INTALG;palglogint|) (LETT #1# (SPADCALL (QCDR |fc|) |lf| (QREFELT $ 79)) |INTALG;palglogint|) G190 (COND ((OR (ATOM #1#) (PROGN (LETT |q| (CAR #1#) |INTALG;palglogint|) NIL)) (GO G191))) (SEQ (EXIT (LETT #0# (CONS (SPADCALL (SPADCALL (QCAR |q|) 0 (QREFELT $ 82)) (QREFELT $ 83)) #0#) |INTALG;palglogint|))) This is from INTALG.lsp. Surely this is some machine-generated code that isn't meant to be human readable, so I'm measuring the wrong thing! Some of the code is funny (from zmod.lsp): (DEFUN |ZMOD;coerce;I$;24| (|n| $) (|ZMOD;bloodyCompiler| |n| $)) Ahh, maybe the pamphlet files are what generate the lsp files. It looks like the pamphlet files that come with fricas are between 100,000 and 200,000 lines long. How does the fricas/axiom source code layout work? Is it all written in pamphlets that lisp is generated from? Anyway, I would love if somebody who knows what they are talking about regarding axiom (not me!) would explain what the human-written/readable code parts of the axiom distro are and roughly how big each is, in some sense. Or just point me to an article or wiki page about this. And who are some of the Axiom original authors? Some files have headers like: ++ Author: Grabmeier, Gschnitzer, Williamson ++ Date Created: 1987 ++ Date Last Updated: July 1990 I wonder who those guys were...? > > > > And in the other hand Axiom making a standard package will not > happen. There > > > > are discussions on their list to remove lisp and maxima. > > > IMHO, I don't think removing lisp or maxima will happen anytime soon. Lots of > topics are open for discussion on the sage-devel list, and William > Stein of course > makes the final decision, but I've not heard any specific plans for > that. There are rumblings but *definitely* no specific plans to remove lisp or maxima. More likely is that we will reduce our dependence on Maxima slowly for the core area of symbolic simplification. That said, the main build manager -- Michael Abshoff -- has as a critically important goal to get Sage to build on a huge range of architecture, and surprisingly getting a lisp interpreter (namely clisp) to work on such a large range of machines is really really really painful. He might comment on this.... Anyway, Michael's summary of the situation is: "I know of three open source implementations of lisp that do not need to bootstrap themselves" a) gcl: no Solaris support, depends on libbfd, no stable release in nearly five years. I broke this trivially on RedHat Enterprise 5 - a platform which should be well supported. The issue was easy to fix, but that is a different story. b) clisp: broken with gcc 4.2.x and gcc 4.3.0 for at least six months. In effect a single developer. compiles on Solaris with gcc 4.2.2, but segfaults in make check, segfaults building Maxima c) ecls: the ray of hope? Bug Maxima can't be build on top of it due to same issues with save and load image. FriCAS has been ported to it. Slower than clisp at the moment, but things are improving. Like clisp in effect a single developer is working on this." This is an area where I think the Sage project could really use help from some of the Fricas people; namely it would be great if we could get Maxima to build on ECLS, since then we could get rid of clisp completely. Since Axiom has been ported to ECLS, maybe Waldek or whoever could help a little with getting Maxima to run on ECLS. That might sound weird, since why would an Axiom guy want to help with working on or improving Maxima? But that's the ** Sage WAY ** which is to get all open source software packages to work better. I think any and all competition/fighting between open source math software is completely counterproductive. The goal we should all have is to provide a viable free open source alternative to Maple, Mathematica, Matlab, and Magma. Especially the first three systems are the ones we should view as the competition -- everything else that's free is on our team. > On the other hand, > I think a lot of people would be very happy if SymPy could, as if by > magic, implement > all the functionality of Maxima and Axiom overnight:-) That's not going to happen, partly by design. Sympy has (is is starting to have) a pretty clear goal, and it's not to fully replace the sort of functionality Axiom (or to a less extent Maxima) has, as far as I can tell. The current plan is to rewrite symbolic manipulation in Cython using lots of tricks so it will be very fast, flexible, and not depend on Maxima at all. This is important, because Maxima (via pexpect) is too slow and, much more importantly, it is too hard for developers to improve and change. This difficulty for developers has stopped dead promising Sage development projects related to symbolic calculus computation. This symbolic manipulation rewrite is actually well on its way; Gary Furnish has been working on it day and night for a few months now, and has been funded by the NSF and Google (thanks!) to work on it full time at UW all summer. > > > > > > > That's bad news, at least for me. I was hoping a lot that Axiom could > be > > > merged into Sage at some point, in some way. After all, Axiom does > have some > > > interesting and huge packages, like the integration stuff. But maybe > I'm > > > mistaken. You are not mistaken that Axiom does have interesting and huge packages. You guys could certainly make a version of Sage that includes Axiom along with anything extra and built however you want, with maybe some Axiom-specific enhancements. Just install Sage, install axiom into it, and type sage -bdist sage-axiom-3.0 and look in your dist/ subdirectory for the resulting binary. I can't explain to you why Axiom definitely hasn't been made a part of Sage, and that it is unlikely to happen as far as I can tell. Probably one of the most honest reasons is that I guess few of the active Sage developers are also Axiom users/developers, so maybe we're ignorant. I don't know. Nowadays, nothing ever gets into Sage by just "hoping a lot". Usually somebody has to really really want it, make many many compelling arguments, demonstrate use cases, offer to work hard to solve problems that come up with integration of the component into Sage, etc. Also, we have pretty strict rules about platforms that have to be fully supported. > > > It seems that Sage is going to connect with OLPC. Someday it will I hope. The size of Sage is a problem though, of course, and for us the size isn't a problem, since our goal is to compete with the likes of Mathematica and Matlab, which are both *huge* themselves. > > > If all those kids do their > > > math using Sage, I think there is no way around Sage anymore. More likely sympy (and Python!) will have a big impact on OLPC. But I still think there is no way around Sage. And really, the central system in all this discussion which is really taking the entire world of mathematics by storm is ** PYTHON **. Sage/Sympy/etc. are all just part of that. >>> Sage can already > > > do many many things better than Axiom, I suppose, so we need really > good > > > reasons to continue with Axiom, I think. Maybe I should just redo the > guessing > > > package in Python and be done with it? Some time ago I said that I'll > quit > > > I think that would be awesome!! > Yes, indeed redo the guessing package in Sage/Python. It will only help improve the code in both systems. If you have the time I would strongly encourage you to do that. > > > Axiom if there are less than twenty contributors by the end of 2008. > However, > > > it seems to me that the number of algebra contributors actually went > down! > > > > > > I'd really like to hear some comments on the general plan. Do you > think it's > > > feasible to > > > > > > a) attract other people, not working on Sage Yes. There's tons of people who like to work on mathematics software, and who have a wide range of tastes. Make your project as developer friendly as possible. Go out of your way, busting your back, to make it so new contributors are treated well, etc. etc. > > > b) merge our community into the Sage community Yes, that would be great too. I think there should just be one big community of open source mathematics software developers, all trying to together do a better job than the closed commercial Maple/Mathematica/Magma communities. > I personally like this idea very much, but don't have any ideas for > how this would > evolve. Again, it depends on what William Stein thinks about it. +1 > Maybe > eventually a [EMAIL PROTECTED] list could be formed? > If I can help in some small way, please let me know. > > > > > > > > Martin > > > > > > > > > > > > > > > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---