[Haskell-beginners] nub... almost

Alex Rozenshteyn rpglover64 at gmail.com
Sat Jun 4 18:59:35 CEST 2011


Also, (since I believe that sort is stable), (map last . group . sort)
should work, and may have different performance characteristics (but
requires an Ord constraint).

On Sat, Jun 4, 2011 at 12:52 PM, Christopher Howard <
christopher.howard at frigidcode.com> wrote:

> On 06/04/2011 12:20 AM, Iustin Pop wrote:
> > On Fri, Jun 03, 2011 at 11:49:01PM -0800, Christopher Howard wrote:
> >> On 06/03/2011 11:37 PM, Christopher Howard wrote:
> >>> Weird request: For a certain application, the "nub" function from
> >>> Data.List is exactly what I need... almost. Nub removes duplicates,
> >>> keeping the /first/ occurrence of each element. However, I need a
> >>> function that removes duplicates, keeping the /second/ occurrence of
> >>> each element. There wouldn't happen to be a function already that does
> >>> this, would there?
> >>>
> >>> I'm working with a custom type which is a member of Eq, but some of the
> >>> data in the type is not used in the comparison. So it is important
> which
> >>> of the two "duplicates" are actually saved.
> >>>
> >>
> >> I should qualify this: By "second" I mean "last". Of course, it is
> >> possible for there to be more than one duplicate of any given element in
> >> a list. E.g., if there are three identical elements in a list, I want
> >> the third one, not the second one.
> >
> > In that case, can't you simply revert the list, nub it, then revert
> > again (i.e. reverse . nub . reverse)?
> >
> > regards,
> > iustin
> >
>
> @iustin: Thanks, that should work well enough.
>
> @Edwards: I'm not familiar with Data.Set, so I do not understand your
> solution.
>
> --
> frigidcode.com
> theologia.indicium.us
>
> _______________________________________________
> Beginners mailing list
> Beginners at haskell.org
> http://www.haskell.org/mailman/listinfo/beginners
>



-- 
          Alex R
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20110604/4fc0d258/attachment.htm>


More information about the Beginners mailing list