on master help sign in
Fix depth-first search (name shadowing).
commit45617250a0700a115993a754f4ddce8261101acb authorMatus Tejiscak <ziman@functor.sk> dateFri 24 Jan 2014, 15:54 (13 years ago) parenta368e1d
1 file changed+7−7
src/Idris/Erasure.hs+7−7
src/Idris/Erasure.hs+7−7
@@ -72,16 +72,16 @@ buildDepMap ctx ns = dfs S.empty M.empty ns
7272 dfs visited deps [] = deps
7373 dfs visited deps (n : ns)
7474 | n `S.member` visited = dfs visited deps ns
75− | otherwise = dfs (S.insert n visited) (M.unionWith S.union (getDeps n) deps) (next ++ ns)
75+ | otherwise = dfs (S.insert n visited) (M.unionWith S.union deps' deps) (next ++ ns)
7676 where
7777 next = [n | n <- S.toList depn, n `S.notMember` visited]
78− depn = S.delete n $ depNames deps
79− deps = getDeps n
78+ depn = S.delete n $ depNames deps'
79+ deps' = getDeps n
8080
81− -- extract all names that a function depends on
82− -- from the Deps of the function
83− depNames :: Deps -> Set Name
84− depNames = S.unions . map (S.map fst) . M.keys
81+ -- extract all names that a function depends on
82+ -- from the Deps of the function
83+ depNames :: Deps -> Set Name
84+ depNames = S.unions . map (S.map fst) . M.keys
8585
8686 -- get Deps for a Name
8787 getDeps :: Name -> Deps