Fork of maxima for make it more embeddable.



On 1/8/12 11:17 AM, Robert Dodier wrote:
> On 1/7/12, Raymond Toy <toy.raymond at gmail.com> wrote:
> 
>> I haven't tried it, but I think using asdf instead of defsystem to build
>> maxima shouldn't be very hard.  Switching the existing defsystems to
>> asdf shouldn't be too hard either since the basic syntax is pretty much
>> compatible.
> 
> Well, there exists a maxima.asd and it successfully compiles &
> loads Maxima. I'll append a quick n dirty patch to get make to build
> Maxima via asdf instead of defsystem. (Defsystem is also used to
> generate dependencies and translate Fortran to Lisp, and maybe
> other stuff, so there is some additional work to do.)

The conversion to asdf for the defsystems that translate Fortran to Lisp
will be a bit harder, but I already do a lot of that work with f2cl (so
that it could be included with quicklisp), so we can steal most of it
from f2cl.

> 
>> The main issue is if asdf will work with gcl.   We still build maxima
>> with gcl, right?  That would be a show stopper.
> 
> Well, if we can find another Lisp for Windows, we wouldn't need GCL ....

Sure, but we haven't really done that yet.  Ccl seems to work pretty
well on Windows and didn't someone already do a windows installer with
ccl?  Perhaps it's time to drop support for gcl?


> 
>> Oh, there is one hairy issue.  If you notice, make will compile maxima
>> and then reload it all again into a fresh image before saving the
>> image.  I think James had to do this long ago because of some issues
>> with compile and load order.  We haven't been very good about having
>> things defined before they are used.  And there used to be issues with
>> different files defining the same function with slightly different
>> behaviors.  Don't know if those exist or not anymore.
> 
> Yeah -- I guess that stuff should be cleaned up. That's independent
> of asdf vs defsystem, right?

Sort of.  I don't know if these issues exist anymore, but to be safe,
we'd have to arrange it so that asdf:oos will actually build everything
and then load everything again.

I, for one, have a hard enough time dealing with bug reports from maxima
and I don't want to have to deal with a quicklisp version that builds
things in the same but slightly different way.

Ray