Hi,
I rewrote the Mathematica translator in lisp and used
Richard Fateman's parser. The whole thing works pretty well
and is very fast. But, there are a number of more or less
difficult details, even with relatively common constructions.
Here is one. I wonder if someone has an idea.
Mma implements a variable number of arguments as part of its
pattern system, like this.
f[x__] := g[x];
If I do f[1,2,3] , I get in, effect g[1,2,3].
In macsyma, I can do this
f([x]) := apply(g,x)
to get the same result. Translating this for slightly
more complicated code seems difficult. I wonder if there is
a way to do this (maybe with macros ?) without using
'apply'. I am looking for something like 'splice'.
Thanks,
John