On Jan 15, 2008 8:40 PM, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> There is one excellent reason to write code within Maxima (either in
> the Maxima language or in Lisp): to take advantage of Maxima's unique
> core functionality, namely symbolic mathematics.
>
> Then there are some less good reasons.
>
> There is the convenience of coding arbitrary-precision (bigfloat) and
> rational arithmetic in Maxima, where the syntax is identical to that
> of integers/floats. (Though some other languages support operator
> overloading, e.g. C++.)
>
> There is the ease of interfacing to other Maxima and Lisp code. But it
> is a great pity that it is not easier to interface to outside packages
> in all our underlying Lisps (though I understand there has been
> progress). Recoding things in Maxima/Lisp is a waste of time and
> effort.
>
> That said, even when the foreign function interfaces become available
> on all platforms, and are reliable and easy to use, there is still the
> issue of writing clean interfaces to their data types and functions.
> For instance, R has a sophisticated system of data frames which it
> would be nice to expose to the Maxima user but which corresponds to
> nothing standard in Maxima. Even if R did the heavy lifting, we'd
> still need Maxima-side routines for manipulating data frames in a
> natural way.
Which reminds me to ask -- where do I look to see how to integrate
Common Lisp packages with Maxima? Is there any docs on it? The
first page of google hits were not relevant...
(3 reasons -- I've been working with a Common Lisp <-> R gateway,
mostly R called from Common Lisp; I'm slowly working on a port/update
of LispStat from XLisp to Common Lisp, and I've got a strong interest
in leveraging Maxima from the CommonLispStat code base at some point,
probably next year given my other commitments).
At some point I'll have an alpha version of a similar tool to R, but
completely CL based, mostly for my amusement. And I can cheat if I
can leverage both R and Maxima.
best,
-tony
blindglobe at gmail.com
Muttenz, Switzerland.
"Commit early,commit often, and commit in a repository from which we
can easily roll-back your mistakes" (AJR, 4Jan05).
Drink Coffee: Do stupid things faster with more energy!