Maxima/Ecl on 32-bit machine cannot evaluate "apply(union, listify({{..}}))"
Subject: Maxima/Ecl on 32-bit machine cannot evaluate "apply(union, listify({{..}}))"
From: Robert Dodier
Date: Tue, 2 Sep 2008 22:18:43 -0600
On 9/2/08, Oliver Kullmann <O.Kullmann at swansea.ac.uk> wrote:
> Remark: One should deprecate "makelist", since
> - create_list is much more powerful
> - makelist has a bug when the loop is empty
I don't know what you mean by this. Please be more specific.
> - create_list is quite a bit faster when it comes to big
> lists (while not being slower for small lists).
Hmm, interesting. Maybe we could punt to create_list from makelist
to handle the cases now handled by makelist.
> 4) load(nset) actually makes the error disappear.
>
> I don't understand fully what this does, but I guess the standard-definitions
> are just reloaded, and thus not compiled?
That's right, the functions are just translated to byte codes and then
interpreted.
> Just a remark: Also under CLisp "compile" seems to be completely useless on my
> own functions:
> Spits out a lot of warnings (much regarding Maxima-code), and then the system
> outputs only rubbish in the sequel.
Again, you'll have to be more specific.
> A possibility would be to run Maxima/ECL only with "load(nset)", which costs
> ~ 25% runtime, but ECL still is faster then than CLisp.
Instead of load(nset) I recommend pretty strongly to just call xreduce
instead of apply.
HTH
Robert Dodier