[Haskell-beginners] removing duplicate tuples (including symmetrical ones)

edgar klerks edgar.klerks at gmail.com
Tue Sep 28 05:45:24 EDT 2010


>You forgot the parenthesis. Parse error in pattern usually means a type in
the input of one of your functions. Nub needs >elements that can be equal.

type has to be typo.
On Tue, Sep 28, 2010 at 11:44 AM, edgar klerks <edgar.klerks at gmail.com>wrote:

> Hi Martin,
>
> You have some typos:
>
> import Data.List
> removeDuplTuples :: (Eq a) => [(a,a)] -> [(a,a)]
>
> removeDuplTuples [] = []
> removeDuplTuples [b] =
> [b]
> -- using the syntactic sugar for single element in list
> removeDuplTuples (x:xs) = nub (if elem (snd x,fst x) xs then
> removeDuplTuples xs else [x] ++ removeDuplTuples xs)
>                              --------
> You forgot the parenthesis. Parse error in pattern usually means a type in
> the input of one of your functions. Nub needs elements that can be equal.
>
> Nub is quitte inefficient, if your elements can be ordered, there is a more
> efficient version. It is something like:
>
> fmap head.group.sort $ [1,1,1,1,4,4,5,6,6,7,8,9]
> [1,4,5,6,7,8,9]
>
> But I haven't test it thoroughly.
>
> Greets,
>
> Edgar
>
> On Tue, Sep 28, 2010 at 11:33 AM, Martin Tomko <martin.tomko at geo.uzh.ch>wrote:
>
>> Hi all,
>> I apologize for spamming this forum so frequently, but there is noone I
>> can turn to around here...
>> I have a list of (a,a) tuples, and am trying something like nub, but also
>> matching for symmetrical tuples. I implemented it using the template from
>> delete from Prelude. Seems like my typse signature has some troubles (Paarse
>> error in pattern) but I am not sure where the problem is.
>>
>> removeDuplTuples :: [(a,a)] -> [(a,a)]
>> removeDuplTuples [] = []
>> removeDuplTuples [b] = [b]
>>
>>         -- using the syntactic sugar for single element in list
>> removeDuplTuples x:xs = nub (if elem (snd x,fst x) xs then
>> removeDuplTuples xs else [x] ++ removeDuplTuples xs)
>>
>> I assume the problem lies in elem (snd x,fst x) xs but I am not sure how
>> to rewrite it.
>>
>> Thanks for all help,
>> Martin
>> _______________________________________________
>> Beginners mailing list
>> Beginners at haskell.org
>> http://www.haskell.org/mailman/listinfo/beginners
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20100928/d05576de/attachment.html


More information about the Beginners mailing list