>>>>> "Richard" == Richard Fateman <fateman@cs.berkeley.edu> writes:
Richard> Starting with duplicating the numeric is what I was
Richard> initially suggesting.
That's certainly much easier. This could be worth doing, but
deciding how to do it is much harder. I see several approaches:
o Implement everything in Lisp.
Pro: Works on every Lisp. Coherent design, and error handling
possible.
Con: Some Lisps may be too slow, like, perhaps Clisp. Lots of work
that is probably better spent elsewhere. Maintenance headache
if the Lisp is translated from some other package which is
seeing active development.
o Automatically convert Fortran code to Lisp
Pro: Works on every Lisp. Re-uses existing Fortran code.
Con: Potentially slow. We lose if the code isn't in Fortran. We
get a mish-mash of designs, that are either simply exposed or
we hide it all under some hand-written wrapper.
o Use FFI
Pro: Low effort, probably best speed
Con: Is there a common FFI that can be used for all supported
Lisps/platforms? Or just support only some Lisps? What about
calling back to Lisp? Is that needed? Makes it somewhat
fragile too. Buggy foreign code or buggy FFI definitions/usage
could take down your entire session.
Matlisp (matlisp.sourceforge.net) is an attempt for a Matlab-like
system in Lisp. It uses the FFI, which has been the source of some
interesting and hard to find bugs. One of the goals of matlisp was
also to provide a Matlab and/or Octave parser so it could re-use
existing Matlab/Octave code. But I don't know anything about parsing,
so is not likely to happen unless someone volunteers to do the work.
Having a decent plotting facility is also pretty important. I seldom
want to see the elements of a 2000-element array, but I often plot
arrays of length 10,000 or more to see things.
Whatever is chosen, speed is fairly important, because some
simulations I've done take days or weeks.
And finally, but perhaps the first question to be asked and answered:
do people really want or expect to do number crunching in maxima?
Lots of things to think about,
Ray
--
Ericsson may automatically add a disclaimer. Sorry, it's beyond my
control.
This communication is confidential and intended solely for the addressee(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you believe this message has been sent to you in error, please notify the sender by replying to this transmission and delete the message without disclosing it. Thank you.
E-mail including attachments is susceptible to data corruption, interruption, unauthorized amendment, tampering and viruses, and we only send and receive e-mails on the basis that we are not liable for any such corruption, interception, amendment, tampering or viruses or any consequences thereof.