meval



On Wed, 5 Feb 2003, Richard Fateman wrote:

> meval should not have to be protected unless it is called
> from a program like pdisrep, which uses the 'raw' genvars,
> and in which it again calls ratdisrep.

Thus, in hayat meval needs to be protected, because hayat uses the 'raw' 
genvars...

But, in fact I do not quite understand your statement. Do you mean

a call to meval needs to be protected only if the program that calls meval 
uses 'raw' genvars before and after the call to meval?

(I tried hayat with meval instead of maxima-substitute, getting the wrong 
answer, just as I expected, because meval eventually calls 
maxima-substitute, of course)

> Any call to meval from pdisrep would be, in my view,
> a mistake waiting to happen.
 
I don't understand you here. pdisrep doesn't call meval.

 
> The gensym program that tacks  x onto a number instead
> of calling them all g0123, g0124, .... looks cute but
> seems to be bad idea if the SAME print name is used for
> different symbols.  The way maxima seems to be set up, you
> have confusing printouts, and unnecessarily so.  In theory
> one could have all gensyms with the same print name, in some
> bizarre attempt to save memory perhaps.  This seems dumb.
> Shouldn't the counter be incremented so that
> #:|x21773| can only occur once?  Is this a bug in GCL?
> Does this problem occur in all Lisps?

I think that this is not really a great problem. It just makes debugging a 
*little* more difficult

Martin