In article <······················@cs.yale.edu> ·······@CS.YALE.EDU (ken yip) writes:
>
>The obvious way:
>
>
>(defun set-equal? (x y &key (test #'equal) (key #'(lambda(x)x)))
> (and (subsetp x y :test test :key key)
> (subsetp y x :test test :key key)))
>
>seems to be doing a lot of redundant computations. I can't assume
>the given sets have no duplicates. Can someone suggest a fast
>implementation? Thanks ahead.
>
(defun set-equalp (x y)
(and (every #'(lambda (elt) (member elt y)) x)
(every #'(lambda (elt) (member elt x)) y)))
Erann Gat
···@robotics.jpl.nasa.gov