meval / final question, hopefully



Martin RUBEY <rubey@labri.fr> writes:

> It seems that there are 2 1/2 solutions to the varlist/genvar problem:
[...]
> 2. Solution
[...] 
> progbind varlist and genvar at all "entrypoints" to programs that use $rat 
> or friends.

I agree with this one except for the `all'.

I think the fundamental paradigm in the rat3e module goes like this:

1) Locally bind VARLIST (but not necessarily GENVAR since it is meant
   to be a pool of symbols).
2) Let NEWVAR and RATREP* establish the correspondence between
   VARLIST and GENVAR.
3) Forget the correspondence and let your algorithm work on the body
   of the resulting CRE form.
4) Do something sensible with the result.

Now, apparently hayat has it's own way of handling the VARLIST/GENVAR
correspondence, which either does not mesh perfectly with this
paradigm or triggers some bug in the rat3 module.

Frankly, I don't know why, e.g., $GCD binds GENVAR and $CONTENT does
not.  So I think the first step would be to understand when it is
necessary to locally bind GENVAR.

Wolfgang