gratuitous incompatibilities? uppercase, sets



-----maxima-bounces at math.utexas.edu wrote: -----

>Second?problem:??it?uses?intersection?to?compute?the?intersection?of?two
>sets?represented?as
lists.??Instead?of?just?returning?the?answer?(as?a?list),?it?gives?an
>error?message.

I'd guess that the quickest way to get the code to run would be to change
intersection to list_intersection, where

  list_intersection([p]) := listify(xreduce('intersection, map
  ('setify,p)));

(and similarly change union,...). As I recall, Stavros and I rejected the
idea of automatic
conflation of lists with sets. The function setify gives an error for a
input that is a
set, so you might like to change map('setify, ... to map(lambda([s], if
setp(s) then s else setify(s)),...

Macsyma had user controllable way to determine the ordering of members in a
set (through canonlt). If
the code you are looking at uses this feature (in a non-default way), it
might be difficult to get
it to work correctly.

Barton