variable names and order



On Sun, 18 Mar 2012 23:45:40 -0600, Robert Dodier wrote:

> On 3/18/12, Tamas Papp <tkpapp at gmail.com> wrote:
> 
>> eq1: lambda[e]+lambda[u]=3;
>> eq2: lambda[e]+2*lambda[u]=4;
>> solve([eq1,eq2],[lambda[e],lambda[u]]);
> 
>>  Error in PROGN [or a callee]: Caught fatal error [memory may be
>>  damaged]
> 
> OK, this is a bug in freeof:
> 
> freeof (lambda [e], lambda [u]);
>  => error
> 
> It turns out freeof has a special case for lambda expressions, assuming
> that the expression looks like lambda([x], ...).
> 
> I guess I can fix that, although it seems plausible that you'll bump
> into similar cases ...
> 
> So let's back up. How about this: just write %lambda[e], %lambda[u],
> etc, with texput(%lambda, "\\lambda") -- that should be enough.

Yes, that should be perfect.

Maybe I stumbled into this accidentally, but I am a bit surprised that
it is so easy to get Maxima into a situation where "memory may be
damaged".  I don't know much about Maxima's internals, but since it is
built on CL, normally I would just expect a some condition with
restarts as the worst case.  Are these fatal errors a GCL thing?
Would it help if I ran Maxima on top of, say, SBCL?

Best,

Tamas