use_fast_arrays : true & batch files



What happens for e.g. 2*x vs. factor(2*x)? or vs. ratsimp(2*x)? -- they are
also alike1 but not equal.

              -s

On Wed, Jul 11, 2012 at 7:54 AM, Barton Willis <willisb at unk.edu> wrote:

> Maxima appends line number and file name information to the car of an
> expression when batching a file--stuff like
>
>     ((MPLUS SIMP  (53 "C:/Users/Barton/Desktop/junk/rtest_aref.mac"  SRC))
>  $X ((MTIMES SIMP) -1 $Y))
>
> Since undeclared arrays use CL hash tables with an equal test (not alike1)
> for equality,  batch files can have problems
> with undeclared arrays when use_fast_arrays is true.  (CL hash tables only
> support the equality tests eq, eql, equal, and equalp.
> There is a source code comment in trans2.lisp that suggests changing the
> equality test for a hash table to alike--not going to
> happen.)  Sticking to integer indices for undeclared arrays might be safe.
>
> Maxima isn't careful about preserving extra junk in the car of an
> expression, by the way.
>
> I suppose this could be fixed by scrubbing the line and file information
> from the car of an expression before it is stored or accessed
> from a CL hash table---ugh. A missing simp flag could cause problems too.
>  When use_fast_arrays is false, I think this problem disappears.
>
> --Barton
>
> A regression test file that shows the problem (at least it does for me):
>
> (use_fast_arrays : true,0);
> 0$
>
> (a[%pi] : 42, 0);
> 0$
>
> a[%pi];
> 42$
>
> (remarray(a),0);
> 0$
>
> (ab[x-y] : s, 0);
> 0$
>
> ab[x-y];
> s$
>
>
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>