From: Erann Gat
Subject: Re: Is there a better way to write set-equal?
Date: 
Message-ID: <1992Mar20.184242.14820@elroy.jpl.nasa.gov>
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