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
-~----------~----~----~----~------~----~------~--~---

Reply via email to