@@ -16,10 +16,8 @@ module Language.PureScript.DeadCodeElimination (
1616 eliminateDeadCode
1717) where
1818
19−import Data.Data
2019import Data.List
2120import Data.Graph
22−import Data.Generics
2321import Data.Maybe (mapMaybe)
2422
2523import Language.PureScript.Names
@@ -73,8 +71,10 @@ declarationsByModule (Module moduleName ds _) = concatMap go ds
7371 go (PositionedDeclaration _ d) = go d
7472 go _ = []
7573
76−dependencies :: (Data d) => ModuleName -> d -> [Key]
77−dependencies moduleName = nub . everything (++) (mkQ [] values)
74+dependencies :: ModuleName -> Declaration -> [Key]
75+dependencies moduleName =
76+ let (f, _, _, _, _) = everythingOnValues (++) (const []) values (const []) (const []) (const [])
77+ in nub . f
7878 where
7979 values :: Value -> [Key]
8080 values (Var ident) = let (mn, name) = qualify moduleName ident in [(mn, Left name)]