I would probably just use Data.Set, insert all the elements in the list into it, and then reconvert to a list. Done. Can provide code it you need it.<br><br><div class="gmail_quote">On 4 June 2011 08:49, Christopher Howard <span dir="ltr">&lt;<a href="mailto:christopher.howard@frigidcode.com">christopher.howard@frigidcode.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On 06/03/2011 11:37 PM, Christopher Howard wrote:<br>
&gt; Weird request: For a certain application, the &quot;nub&quot; function from<br>
&gt; Data.List is exactly what I need... almost. Nub removes duplicates,<br>
&gt; keeping the /first/ occurrence of each element. However, I need a<br>
&gt; function that removes duplicates, keeping the /second/ occurrence of<br>
&gt; each element. There wouldn&#39;t happen to be a function already that does<br>
&gt; this, would there?<br>
&gt;<br>
&gt; I&#39;m working with a custom type which is a member of Eq, but some of the<br>
&gt; data in the type is not used in the comparison. So it is important which<br>
&gt; of the two &quot;duplicates&quot; are actually saved.<br>
&gt;<br>
<br>
</div>I should qualify this: By &quot;second&quot; I mean &quot;last&quot;. Of course, it is<br>
possible for there to be more than one duplicate of any given element in<br>
a list. E.g., if there are three identical elements in a list, I want<br>
the third one, not the second one.<br>
<div><div></div><div class="h5"><br>
--<br>
<a href="http://frigidcode.com" target="_blank">frigidcode.com</a><br>
<a href="http://theologia.indicium.us" target="_blank">theologia.indicium.us</a><br>
<br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br>