[O.Kullmann@swansea.ac.uk: Re: Maxima/Ecl on 32-bit machine cannot evaluate "apply(union, listify({{..}}))"]



> On 9/3/08, Oliver Kullmann <O.Kullmann at swansea.ac.uk> wrote:
> 
> >  We stopped using xreduce for big unions, since for some our applications
> >  it had a big effect --- 5 hours instead of 1 hour where you need to do a lot
> >  of experimentations is not good.
> 
> By the way, it sounds like you are working on some sizeable problems.
> I think that is terrific. I am glad to hear that you are using Maxima for
> some heavy-duty computing. We probably should try to collect links to
> such applications on the web site.
>

Sure, once the alpha version of the OKlibrary is out, hopefully it strengthens
Maxima.

Though I would be careful on the "sizeable problems":

For us, basically, Maxima is a high-level programming language,
used for "procedural specifications". The point is to map the
whole landscape of "generalised satisfiability problems" (and
beyond), with complete definitions of all problems, provided
procedurally through readable code.
So actually at this level in our library (which has several language
layers) efficiency is "essentially" ignored.

How does it come then that I "complain" about performance? On the one
hand, since we are having now the code in Maxima (only), and not at
the C++ level (this takes much more time), we also want to use it!
Still, we accept a big slowdown, but there seem many unnecessary
inefficiencies --- I'm glad to see e.g. some movement on the "union-front"!

So we are implementing in Maxima only the "basics". And for this type of
problems, if a C/C++ implementation is available, it is typically so much
faster than what you could achieve in Maxima/Lisp, it wouldn't make a good
advertisement as such. (The field of "SAT solving", which is at the basic,
is perhaps comparable (somewhat!) to cracking DES by brute-force, or a
chess engine, or counting the number of solutions for the N-queens problem
--- whatever you do, you don't get anything near a dedicated C/C++ program.)

So for our application of Maxima, I would stress more the universality, and
the relative ease of writing programs.
(Actually I think these are the truly outstanding feature (in principle) of
Maxima, which as far as I see it, no other system (open-source or commercial)
has.)

Oliver