set.lisp redefines POWERSET



in fact, I think we have a *real* problem with (lisp)name-conflicts: For
my graphs package, I had to use lisp::complement instead of complement,
because complement is defined somewhere, I had to define g-fan instead of
fan, because fan is used somewhere, I know already that if is redefined
somewhere, Wolfgang reports that powerset is defined in some package...

Stupid things could happen: I need a cartesian product in my
graphs-package, who knows whether this is not also defined in some other
user package? (with "similar but slightly different notation" (I'm citing
my favorite sentence from a visual basic manual...)

wouldn't it be possible to have each module export only the maxima 
functions (i.e. $xxx) and some utilities needed elsewhere via a 
welldefined interface ???

In the long run, it might be worthwhile to have a set of "utility modules" 
where each function has well defined semantics, while other modules *may* 
not export functions other than $xxx.

By the way, a second suggestion: shouldn't we have a testfile "maximabugs"  
which contains tests which fail, i.e. examples that produce (mathematical)
bugs. I think users will be disappointed when they discover that there are
some 150 bugs after having read that "maxima passes its own test suite". I
think such an additional test suite might be more transparent. But I have
no idea how much work it is to generate a file like this.

Martin


On 4 Mar 2003, Wolfgang Jenkner wrote:

> 
> From a recent bug report (by Stavros): 
> 
>     I tried setting Berlefact:false to see if that would make a
>     difference, but that causes an internal error (POWERSET requires
>     less than two arguments).
> 
> This is because set.lisp redefines POWERSET (originally defined in
> ratout.lisp).  Please suggest a different name (only for POWERSET, not
> for the user-visible $POWERSET).
> 
> Wolfgang
> 
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>