<div dir="ltr">I understood you to be asking for something like this:<div><br></div><div><div>  (check-equal? (uf-same-set? (uf-new 1) (uf-new 2)) #f)</div><div>  (check-equal? (uf-same-set? (uf-new 1) (uf-new 1)) #f)</div>
<div>  (check-equal? (let ([a (uf-new 1)]</div><div>                      [b (uf-new 1)])</div><div>                  (uf-union! a b) </div><div>                  (uf-same-set? a b))</div><div>                #t)</div></div>
<div><br></div><div style>No?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jan 29, 2013 at 6:51 PM, Sam Tobin-Hochstadt <span dir="ltr">&lt;<a href="mailto:samth@ccs.neu.edu" target="_blank">samth@ccs.neu.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">But wouldn&#39;t that equate two un-unioned invocations of (uf-new 1)?<br>
<br>
On Tue, Jan 29, 2013 at 7:47 PM, Robby Findler<br>
<div class="HOEnZb"><div class="h5">&lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt; wrote:<br>
&gt; But I should probably provide that, since it can be done more reliably<br>
&gt; inside the library.<br>
&gt;<br>
&gt; Robby<br>
&gt;<br>
&gt;<br>
&gt; On Tue, Jan 29, 2013 at 6:46 PM, Robby Findler &lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Tue, Jan 29, 2013 at 4:20 PM, Sam Tobin-Hochstadt &lt;<a href="mailto:samth@ccs.neu.edu">samth@ccs.neu.edu</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; This is probably a silly question, but don&#39;t you also need some way to<br>
&gt;&gt;&gt; check if two sets have been unioned?  Does your application not need<br>
&gt;&gt;&gt; that?<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; You check to see if their canonical element is the same.<br>
&gt;&gt;<br>
&gt;&gt; Robby<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Sam<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Tue, Jan 29, 2013 at 4:51 PM, Robby Findler<br>
&gt;&gt;&gt; &lt;<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>&gt; wrote:<br>
&gt;&gt;&gt; &gt; I&#39;ve just pushed an implementation of the union-find algorithm to the<br>
&gt;&gt;&gt; &gt; data/<br>
&gt;&gt;&gt; &gt; collection. I didn&#39;t do it quite the way wikipedia recommends, but<br>
&gt;&gt;&gt; &gt; instead<br>
&gt;&gt;&gt; &gt; made the sets be little containers whose canonical element can be<br>
&gt;&gt;&gt; &gt; mutated.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; This suits my purposes well, but I wanted to ask if someone on the list<br>
&gt;&gt;&gt; &gt; knows why the wikipedia way is better.<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Also, I wasn&#39;t sure about the names, so I put &quot;uf-&quot; on the front of<br>
&gt;&gt;&gt; &gt; everything to discourage people from using this when they really want<br>
&gt;&gt;&gt; &gt; racket/set. Maybe there is a better way, tho?<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; Robby<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt; &gt; _________________________<br>
&gt;&gt;&gt; &gt;   Racket Developers list:<br>
&gt;&gt;&gt; &gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
&gt;&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>