Memory may be damaged (was Re: variable names and order)
Subject: Memory may be damaged (was Re: variable names and order)
From: Richard Fateman
Date: Mon, 19 Mar 2012 09:08:53 -0700
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