Mockmma



Here's a suggestion to make Mockmma and Maxima inter-operate.

1.  have a program  to_mockmma();   in Maxima, that starts up a Mockmma 
top level, just like to_lisp();
    there should be a program (in Mockmma)  called  to_Maxima[]  to return.

2. have a program cv2max[]   which takes an algebraic expression like 
a*b+c   in Mockmma internal form and converts to Maxima internal form, 
basically the same as
Mathematica's FullForm .... just replacing f[] with f().
and also cv2mock[] which takes a Maxima form and converts to MockMMa.  
Also a program FuncallMax...
This would allow the following:

/*  Use Maxima's integration program for the Mockmma command "Integrate"  */

  Integrate[f_,x_]:=   cv2mock[  FuncallMax[integrate,  cv2max[f], 
cv2max[x]]]

If for some reason (perhaps to use the pattern matcher in mockmma?) one 
wanted to use mockmma from maxima, there could be
IN Maxima, different programs

cv2mock() cv2max() funcallmock()  also mockmmaparse() so one could do in 
maxima

mockmatch(expression, pattern):=    cv2max(funcallmock("MatchQ", 
cv2mock(expression), cv2mock(pattern)).

The syntax for Patterns might be like mathematica FullForm, but in 
Maxima style, e.g.  a+x__ is   Plus(a,Pattern(x,BlankSequence()))
or perhaps  cvt2max(mockmmaparse("a+x__"))

None of this would be very hard to do, I think.


RJF