I am deeply disappointed in the direction you are proposing. If you are going to switch languages at this point, it should be to a more modern language than Lisp. So I plan on forking the Sage project with a Haskell rewrite. I think time will tell which is the better choice.
I am open to ideas about what a Haskell-based sage should be called. Cheers, Marshll Hampton On Apr 1, 12:59 pm, William Stein <wst...@gmail.com> wrote: > Hi, > > About two years ago we made the painful transition from using Darcs to > Mercurial for our revision control system. This was difficult, but had > to be done because it was hard to get Darcs to run everywhere, and > there were weird corner cases where Darcs would hang. Mercurial isn't > optimal but it gets the job done. > > Frankly, I think we have similar problems using Python at the core of > Sage. I've been thinking very hard about how to deal with this for > nearly a year now, and have come to the conclusion that we should make > a switch from using Python at the core of Sage to Lisp. The > transition won't be easy, but it will be well worth the effort, since > in the time frame I have in mind (30 years, say) I see Lisp really > taking off, and despite its faults, anyone who has used Lisp a lot > knows that Lisp is clearly a far better language than Python in > several critical ways. The strategy for switching will go something > like this: > > 1. Forking: We fork clisp. We have been using clisp for several > years now in Sage, so we're very familiar with their build system. > However, they don't make regular releases, and their foreign function > interface is severely lacking, as is their Solaris support. So we're > forking, and will call the fork LispX. I've talked with Robert > Bradshaw about creating a new language called CylispX, which will be > similar to Cython but for LispX, and I'm confident we can pull this > off. > > 2. Porting: We have an intense sequence if "Lisp days", both > workshops and 1-day long IRC events, where we go line-by-line through > the Sage library and rewrite everything in Lisp. As we go, we'll > make sure that the rewritten code is always at least as fast as the > original code (this shouldn't be a problem, because of LispX's > extremely good profiling and dynamic optimization features). I hope > everyone here is willing to pitch in significant time to this effort. > If you're not, I would really like to know what your concerns are. > > 3. Polish: I estimate step 2 will take about 3 years, given the > amount of time it took to write the original Sage library, and also > the level of familiarity of most Sage developers with Lisp. Also, we > will likely run into subtle snags with SageLisp's interface for > calling C functions. But with everybody's hard work, we'll get > through this. > > 4. Sage-4.0: On April 1, 2012, we'll release Sage-4.0, which will be > the complete Lisp-rewritten version of Sage. We will then get to work > on porting all of the nasty C/C++/Fortran dependencies in Sage to > Lisp. We'll likely start with GMP/MPIR (we may have to fork, though I > *hope* Bill Hart will be on board), then moving onto mpfr, mpfi, > FLINT, PARI, etc. I estimate that with lots of hard work by everybody > reading this email, we can accomplish this in at most 4 years. This > will be a great contribution to mankind. > > 5. Finally, on April 1, 2016, we'll release Sage-5.0, the fully > Lisp-ified Sage. We will then get back to porting Sage to Windows, > Solaris, and implementing new functionality for combinatorics, linear > algebra, number theory, algebraic geometry, optimization, etc. > > If anybody isn't 100% convinced that this change isn't -- in the long > run (30 years) -- well worth our effort, please respond. > > -- Best Regards, > William Stein > > -- > William Stein > Associate Professor of Mathematics > University of Washingtonhttp://wstein.org --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---