On Apr 21, 3:38 am, root <[EMAIL PROTECTED]> wrote:
> >> I have no idea why you think ECLS is a silver bullet.

Hi Tim,

> >I forgot one important argument here: With ecls you can embed the lisp
> >interpreter into an external library, hence we would be able to use
> >Maxima as a library instead of using the inefficient pexpect
> >interface. I am not sure how much work this would be, but if I were a
> >Maxima coder I would certainly look into that possibility since it
> >opens a whole lot of possibilities for Maxima IMHO - totally
> >independent of Maxima's role in Sage.
>
> I looked at pexpect. It appears to be a process controller of sorts
> that interprets and parses console I/O.

correct.

> Axiom has its own version called sman (superman). You don't normally
> type directly at the axiom command prompt but are talking to sman
> which mediates the console i/o. Sman manages a set of processes
> (the AXIOMsys interpreter, the graphics, hyperdoc, etc) but makes
> it appear that you are talking to axiom. You could talk directly
> to the AXIOMsys system prompt or directly to AXIOMsys thru a network
> port (which is how the Axiom Firefox works). But sman doesn't actually
> parse anything at all. It is just a very small C program which forks
> processes and sets up ptys and thus has nearly zero overhead.

Well, what do you send via the socket or via the commandline? It must
be some kind of ASCII I assume.

> I'm not sure what Maxima does. But I'd bet that almost all of the
> overhead you're seeing isn't Maxima but pexpect delay. Somebody
> is probably playing parsing games to get prompt and end-of-input
> processing and that has got to cost a lot. Why not just reach into
> the lisp and do it directly? Why use a console connection at all?
> Using pexpect has got to be the worst of all possible ways to talk
> to Maxima.

Using a socket here doesn't solve the problem. Using Maxima via ecls
embedded in a library offers the possibility to work directly with the
data without the need to translate anything [unless you want to get
you data back into Sage structures or the other way around]. It would
also kill synchronization issues that crop up with pexpect for
example.

> In any case, it is certainly possible to use lisp as a library
> element rather than using pexpect. I'm not sure why ECLS is special
> in this context since I've never used it.

I am not aware of any other lisp interpreter that you can easily embed
in a C library. Can you point me to one?

> Tim

Cheers,

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

Reply via email to