@@ -25,6 +25,7 @@ import Idris.Core.TT
2525import Idris.Core.Evaluate
2626import Idris.Core.CaseTree
2727
28+import Control.Applicative
2829import Control.Monad.State
2930import Data.List
3031import qualified Data.IntMap as IM
@@ -51,13 +52,17 @@ compile codegen f tm
5152 -- TODO: traverse all names correctly
5253
5354 -- TODO: DEBUG-ONLY, remove
54− ist <- getIState
55− let depMap = buildDepMap (tt_ctxt ist) used
55+ ctx <- tt_ctxt <$> getIState
56+ let depMap = buildDepMap ctx used
5657 let printItem (cond, deps) = show (S.toList cond) ++ " -> " ++ show (S.toList deps)
5758 iLOG $ "USAGE ANALYSIS:\n" ++ unlines (map printItem . M.toList $ depMap)
5859
60+ let fmtDepMap = unlines . map (\(n,is) -> show n ++ " -> " ++ show (IS.toList is)) . M.toList
5961 let minUse = minimalUsage depMap
60− iLOG $ "MINIMAL USAGE:\n" ++ unlines (map (\(n,is) -> show n ++ " -> " ++ show (IS.toList is)) $ M.toList minUse)
62+ iLOG $ "MINIMAL USAGE:\n" ++ fmtDepMap minUse
63+
64+ let unusedMap = usedToUnused ctx minUse
65+ iLOG $ "UNUSED:\n" ++ fmtDepMap unusedMap
6166 -- END TODO
6267
6368 maindef <- irMain tm