Memory may be damaged (was Re: variable names and order)



On 3/19/2012 12:25 AM, Tamas Papp wrote:
> 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 
"memory may be damaged"  but it may not be any part of memory you are 
going to be using anyway.
And it may not be damaged at all.

If you were using C, you might not get such a message, just a system crash.

Typically a lisp compiler will have different levels of optimization, 
and optimizing for speed (speed=3)
may mean that error (such as incorrect type declarations) will not be 
caught at runtime.

Common Lisp's definition allows that the result of some kinds of errors 
are not defined
by the standard, and so different implementations may do different things..
(" it is an error to do .....") .  Usually a program compiled with 
safety=3  will catch more
errors and recover gracefully than a program compiled with safety=0 speed=3.
//
I don't know what the optimization settings are for the part of Maxima 
that you were using.

It is not clear how much checking should be done by Lisp, how much 
should be done
by Maxima's programs, and how much by humans.  If humans go swimming in a
raging river and are carried over a waterfall and drown, is it a bug in 
the river?
If a sign says "Do not go in water here"  (and in other languages)  is 
it still a bug?
If there is a fence with barbed wire preventing access to the river, is 
it still a bug,
if someone cuts through the fence?
Is it necessary to (say) dam the river?

RJF