Remove unused equivClassesByUniq
authorBartosz Nitka <niteria@gmail.com>
Sun, 1 May 2016 22:09:22 +0000 (00:09 +0200)
committerBen Gamari <ben@smart-cactus.org>
Sun, 1 May 2016 22:09:22 +0000 (00:09 +0200)
It uses `eltsUFM` so it can introduce nondeterminism, but it isn't used
so we can delete it.

Test Plan: it builds

Reviewers: simonpj, goldfire, simonmar, austin, bgamari

Reviewed By: austin, bgamari

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2161

GHC Trac Issues: #4012

compiler/utils/ListSetOps.hs

index 207a00c..4113566 100644 (file)
@@ -15,7 +15,7 @@ module ListSetOps (
 
         -- Duplicate handling
         hasNoDups, runs, removeDups, findDupsEq,
-        equivClasses, equivClassesByUniq,
+        equivClasses,
 
         -- Indexing
         getNth
@@ -24,8 +24,6 @@ module ListSetOps (
 #include "HsVersions.h"
 
 import Outputable
-import Unique
-import UniqFM
 import Util
 
 import Data.List
@@ -159,16 +157,3 @@ findDupsEq _  [] = []
 findDupsEq eq (x:xs) | null eq_xs  = findDupsEq eq xs
                      | otherwise   = (x:eq_xs) : findDupsEq eq neq_xs
     where (eq_xs, neq_xs) = partition (eq x) xs
-
-equivClassesByUniq :: (a -> Unique) -> [a] -> [[a]]
-        -- NB: it's *very* important that if we have the input list [a,b,c],
-        -- where a,b,c all have the same unique, then we get back the list
-        --      [a,b,c]
-        -- not
-        --      [c,b,a]
-        -- Hence the use of foldr, plus the reversed-args tack_on below
-equivClassesByUniq get_uniq xs
-  = eltsUFM (foldr add emptyUFM xs)
-  where
-    add a ufm = addToUFM_C tack_on ufm (get_uniq a) [a]
-    tack_on old new = new++old