I find this pretty hard to believe... that all this is necessary.
Can you achieve your goal by just transmitting the string to a running
maxima,
"diff(sin(x),x);"
and getting the answer as a string?
I would not do what you seem to be doing at all this way. I would just
write the
calling program in lisp, too. But if you must use Java...
Perhaps you can load the java program into the lisp, in which case you
should be able to do almost anything.
Or if my advice so far is of no use, perhaps this next piece will help.
The program you want may be sdiff; I don't know why $diff is not
accessible.
That is (sdiff '((%sin) $x) '$x)
returns ((%cos simp) $x)
although $diff seems to work ok, in lisp if you call it the right way.
RJF