Or, with a one-liner (inefficient, though):
Indeed the second snipper contains quite an obvious mistake. Thanks for noticing!
It doesn't seem to me it utilises a lambda expression though? You mean the '.' operator for chaining function? If that's it, it could be rewrittenunique (x:xs) | elem x xs = unique (filter (/= x) xs)
unique :: [Integer] -> [Integer]
unique [] = []
| otherwise = x : unique xs
----- Original Message -----
From: Ramesh Kumar
Sent: 03/28/12 10:14 AM
To: franco00@gmx.com, beginners@haskell.org
Subject: Re: [Haskell-beginners] Beginners Digest, Vol 45, Issue 35
Thanks Franco, Your (first) solution is the only one which has worked so far although it utilizes a lambda expression.The problem is indeed tricky.
From: "franco00@gmx.com" <franco00@gmx.com>
To: beginners@haskell.org
Sent: Wednesday, March 28, 2012 3:39 PM
Subject: Re: [Haskell-beginners] Beginners Digest, Vol 45, Issue 35
gah sorry I obviously meant to reply to the "Unique integers in a list" message
----- Original Message -----From: franco00@gmx.comSent: 03/28/12 09:36 AMSubject: Re: Beginners Digest, Vol 45, Issue 35
unique :: [Integer] -> [Integer]
unique [] = []
unique (x:xs) | elem x xs = (unique . filter (/= x)) xs
| otherwise = x : unique xs
-- This is a simpler to read version (albeit inefficient?)
unique :: [Integer] -> [Integer]
unique [] = []
unique (x:xs) | elem x xs = unique xs
| otherwise = x : unique xs
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners