Bohtvaroh

Blogger - HTIF - difference

Oct 4th, 2012
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- |Finds symmetric difference between lists. O(2nlogn + 2n)
  2. difference :: Ord a => [a] -> [a] -> [a]
  3. difference = iter diffF
  4.  
  5. diffF :: Eq a => (Maybe a, Maybe a) -> [a] -> [a]
  6. diffF (Just x, Just y) acc = if x /= y then x:y:acc else acc
  7. diffF (Just x, Nothing) acc = x:acc
  8. diffF (Nothing, Just y) acc = y:acc
  9. diffF _ acc = acc
Advertisement
Add Comment
Please, Sign In to add comment