Different max behavior from commercial product.



hi barton,

> (%i1) listmax(s) := if listp(s) or setp(s) then tree_reduce('max, s, 'minf)
>                          else
>                          error("The argument to 'listmax' must be a list or
>                          a set")$

i can easily believe that nset provides a better way to
implement max (either faster or more general or both),
but if that's the case then let's see how we can make 
that the default implementation. i suppose it is just a 
question of getting $max to punt to $tree_reduce.

i'm not all that big a fan of "there's more than one way
to do it"; if we can identify a consistently better solution
then let's set things up so that's the one that's usually
executed.

all the best,
robert dodier