>>>>> "Richard" == Richard Fateman <fateman at eecs.berkeley.edu> writes:
Richard> On 5/29/2013 11:23 AM, Robert Dodier wrote:
>> On 2013-05-29, Jose Capco <jcapco at yahoo.com> wrote:
>>
>>> Thank you for the tips! I guess I will have to walk your path as well
>>> (i.e. study Lisp and see if I can fix some bugs if there is any I can
>>> fix). Is most of the computer algebra algorithm written in Lisp or do
>>> they do some computer algebra in C or C++ level as well? I would
>>> basically want to work on the algebra (algorithms with real
>>> polynomials and Gr?bner basis) and geometry algorithms (algorithms
>>> with elliptic curves and other algebraic curves).
>> All of the algebraic stuff is written in Lisp. C/C++ libraries can be
>> linked in via a foreign function interface, but there are technical and
>> nontechnical problems with that.
Richard> I think this is worth explaining a little. At least my
Richard> understanding of it is that the interface to foreign
Richard> functions, not being part of the Common Lisp standard,
Richard> differs from one implementation to the other. Since one
Richard> goal is to have Maxima be relatively neutral as to choice
Richard> of underlying Lisp, there has not been a concerted effort
Richard> to use foreign functions. There is a UFFI (universal)
Richard> FFI attempting to bridge the gaps among implementations,
Just a few clarifications. I believe UFFI has been pretty much
superceded by CFFI.
Richard> but one historically important Lisp supporting Maxima
Richard> does not allow FFI (GCL).
I'm pretty sure GCL has an FFI, but it's different from everyone
else's and is not supported by CFFI.
Ray