As a proof of concept, there is now some code attached to: http://trac.sagemath.org/sage_trac/ticket/7377
It is just a separate python module, not explicitly placed in the sage tree. It depends on two tickets that are ready for review. Kcrisman has already looked at them, but they could use some attention from someone familiar with lisp. http://trac.sagemath.org/sage_trac/ticket/6781 http://trac.sagemath.org/sage_trac/ticket/7287 It demonstrates how easy ECL's library interface can be used to robustly interface with Maxima. As an example: sage: from sagemax import * ;;; Loading #P"/usr/local/sage/4.1.2/local/lib/ecl/maxima.fas" sage: from sage.calculus.calculus import _integrate sage: I=_integrate(cos(x),x) sage: sage_to_max(I) <ECL: (($INTEGRATE) ((%COS) SAGE-SYM-1) SAGE-SYM-1)> sage: meval(sage_to_max(I)) <ECL: ((%SIN SIMP) SAGE-SYM-1)> sage: max_to_sage(meval(sage_to_max(I))) sin(x) Note the call to meval. That is really just a pointer to the LISP function meval that corresponds to Maxima's expression evaluator. For the ECL developers, the fact that it is so easy to develop such a tight interface between python and ECL could really be used as a major advertising point. For sage, I think this can lead to an interface to maxima's functionality that will be a lot easier to keep robust than any pexpect interface. I don't think I will be able to do much more development on this code, apart from some ideas I have to translate Sage's differential operators D[i](f) into Maxima's diff constructs using Maxima's "at". So it would be great if someone with more stake in the calculus/ symbolic code could adopt this project. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---