Of course the most *general* way requires an Eq constraint:
> List.nub :: Eq a => [a] -> [a]
But there are better functions (already mentioned) with the less general
Ord constraint.
Int and String are instances of Ord. "some other user defined data type"
probably is too, but if you mean "any other user defined data type",
even Eq may not be satisfied, e.g.
> data NotEvenEq a = FuncsNotEq (a->a)
The hammer you use depends on what you're hammering on.
Dan
Henning Thielemann wrote:
On Fri, 8 Feb 2008, [EMAIL PROTECTED] wrote:
Hallo!
Let's suppose I have a list [a,b,c,d,c,d]. I'd like to write
a function that returns a new list without duplicates (in
the example [a,b,c,d]). How can I do that? What is the most
general way? I'd like to use the same function for a list of
Int or String or some other user defined data type.
List.nub
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe