@@ -16,10 +16,8 @@ module Language.PureScript.DeadCodeElimination (
16 eliminateDeadCode
16 eliminateDeadCode
20import Data.List
19import Data.List
21import Data.Graph
20import Data.Graph
23import Data.Maybe (mapMaybe)
21import Data.Maybe (mapMaybe)
25import Language.PureScript.Names
23import Language.PureScript.Names
@@ -73,8 +71,10 @@ declarationsByModule (Module moduleName ds _) = concatMap go ds
73 go (PositionedDeclaration _ d) = go d
71 go (PositionedDeclaration _ d) = go d
76−dependencies :: (Data d) => ModuleName -> d -> [Key]
74+dependencies :: ModuleName -> Declaration -> [Key]
77−dependencies moduleName = nub . everything (++) (mkQ [] values)
75+dependencies moduleName =
76+ let (f, _, _, _, _) = everythingOnValues (++) (const []) values (const []) (const []) (const [])
79 values :: Value -> [Key]
79 values :: Value -> [Key]
80 values (Var ident) = let (mn, name) = qualify moduleName ident in [(mn, Left name)]
80 values (Var ident) = let (mn, name) = qualify moduleName ident in [(mn, Left name)]