Hunter Monroe wrote:
> Developers are wanted for the new sourceforge project Mockmma which will
> develop a capability to translate Mathematica files into Maxima .mac files
> and provide a Mathematica-style command line. This would build on Richard
> Fateman's Mockmma, John La Peyre's Mathematica to Maxima compatibility
> tools, and some work by Andrey Siver. Some initial objectives would be to
> get Mockmma to compile on LISPs other than Franz Allegro,
There is a subdirectory "davorpatch" in
http://www.cs.berkeley.edu/~fateman/mma1.6/
which includes patches for CLISP and KCL (predecessor to GCL). Whether
this solves your problems or not,
I cannot say.
> create an
> executable and release it,
The usual way of producing something for lisp is not to package it as a
separate executable program, but to provide it as a library that can be
read in to any suitable lisp. It is actually not necessary to "compile"
anything unless you are in a rush. As I recall, the translation process
was essentially instantaneous, with hundreds of lines being parsed in a
fraction of a second.
> get this executable to work with wxMaxima,
The "right" way to do this would be to load the library into wxmaxima.
> and
> import the Combinatorica.m package (the author has given permission) into a
> Maxima .mac file (or choose your favorite Mathematica package).
>
When I looked at Combinatorica, years ago, what struck me was that the
programs could be written so much better in Lisp!
> Initially this would translate Mathematica functions into Maxima functions
> even though this are evaluated quite differently.
>
The things that would mostly work are simple expressions, in which
Sin[a x+b] would be translated to sin(a*x+b).
This kind of simple translation would not work for a Mathematica package
with function definitions etc.
Mockmma does have a rudimentary evaluator that matches patterns etc, so
it can handle some function definitions etc.
It would be possible to change Mockmma to work with maxima in a more
substantial way, if you wished to
use the same internal data structures. A lisp structure to lisp
structure translator would probably be the simplest way:
external maxima Mockmma
a+b ((mplus simp) $b $a) (Plus a b) {in the mma
package}... or something like this..
RJF