On Thu, 27 Aug 2009, rjf wrote: > It seems that your basic problem is that you have a terrible interface > to Maxima, even if this problem were fixed. > A proper interface would not require Maxima to parse a character > string for each command. There are > many possible ways to do this, but possibly you would ask Maxima to > parse a name and allocate Maxima > space for "x", "y", or other variables. But parsing x+y could be > done in python, and if it was intended to > send to lisp, ask lisp to make a list of (mplus), $x, and $y). This > would be done by calling a lisp subroutine called LIST > with 3 pointers.
This is one of the things I'm excited about the library interface--both maxima and sage store expressions as trees and it's a waste to parse and render them back and forth. With a pseudo-tty strings were the only option, but now we can do better. However, even with strings, passing char* back and forth will be much faster than dealing with pipes. Now that we can do simple things ourself, the parsing overhead shouldn't be as big of a deal for the more powerful operations that we still rely on maxima for. - Robert --~--~---------~--~----~------------~-------~--~----~ 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 URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---