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