Google Summer of Code



Hi,

Yes, we have several instances of MAXIMA running, maintained by our  
server processes; but it's all sort of fudged together.

What I meant was to write a true server mode for MAXIMA, so you can  
have one or more running kernels on the machine, which applications  
can connect to. Other symbolic algebra systems, like Mathematica or  
Maple, have this feature.

- Gerd.

On Mar 9, 2009, at 9:55 AM, R Fateman wrote:

> why not just start up 10 maximas;  some implementations should allow  
> considerable sharing.
> Then each time you get a request, find an idle maxima.  If you have  
> all 10 computing, you have
> a problem any way you look at it.  You could start up another one,  
> or just say that
> you are busy, try again later.
> I think that starting up another maxima, given that one is already  
> in memory,
> takes a small fraction of a second, with the right lisp.
>
> Another approach is to have a multiple-user server written in lisp  
> entirely, which would probably be
> a much more flexible approach, but requires a more sophisticated  
> knowledge of lisp, and maybe
> a better lisp than some people are using.  Many people
> resist this and prefer to use some other scripting language. Not  
> realizing that Lisp is quite appropriate
> for scripting, access to operating system, etc. They then have to  
> communicate between lisp and something
> else, and that can be clumsy.
>
> I wrote an entire server for integration table lookup in lisp.
> (TILU).
> RJF
>
>
>
> Gerd Kortemeyer wrote:
>> Hi,
>>
>> How about a real "server mode" for Maxima, so its kernel can run as  
>> a  daemon, and be used by other applications? This has to be truly   
>> scalable in high load situations and not start a new process every   
>> time. We fudged something for our LON-CAPA project, but it is   
>> basically behaving like terminal emulation, "typing" the  
>> expressions  into the command line of a running Maxima:
>>
>> http://www.lon-capa.org/maximaasserver.html
>>
>> This works fine, but it is so ugly :-(
>>
>> They can write their daemon in Python or whatever they want, as  
>> long  as it provides a standard port that other applications can  
>> connect to.  Feel free to provide the above link in the Google  
>> Summer of Code  application.
>>
>> - Gerd.
>>
>> On Mar 9, 2009, at 9:23 AM, R Fateman wrote:
>>
>>
>>> Perhaps a project would be a proper python to maxima linkage, not
>>> "pexpect" which William Stein of Sage claims is too slow, and   
>>> therefore
>>> Maxima should be rewritten, piecemeal in python.
>>>
>>> If a proper linkage were possible, e.g. taking a lisp data  
>>> structure  and
>>> returning it to python or vice versa, instead of whatever is  
>>> done,  would
>>> that fix
>>> everything?
>>>
>>> Or having python run inside the common lisp.
>>>
>>> I know nothing about pexpect.
>>>
>>> Google seems to like python and not lisp (so much).
>>>
>>> It would be cute to essentially replace Sage's fundamental mechanism
>>> with something much better.
>>>
>>>
>>> Here's another project:  make the google calculator do symbolic  
>>> math.
>>> That is, instead of just  2*2=   as a search string, allow x*x=
>>>
>>> Anything involving higher math is, I think, going to be less popular
>>> than more "common" topics.
>>> Anything using python seems to be favored somewhat.
>>>
>>> RJF
>>>
>>> _______________________________________________
>>> Maxima mailing list
>>> Maxima at math.utexas.edu
>>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>>
>>
>> _______________________________________________
>> Maxima mailing list
>> Maxima at math.utexas.edu
>> http://www.math.utexas.edu/mailman/listinfo/maxima
>>
>