@@ -47,9 +47,6 @@ compile codegen f tm
47 let tmnames = namesUsed (STerm tm)
47 let tmnames = namesUsed (STerm tm)
48 usedIn <- mapM (allNames []) tmnames
48 usedIn <- mapM (allNames []) tmnames
49 let used = sUN "prim__subBigInt" : sUN "prim__addBigInt" : concat usedIn
49 let used = sUN "prim__subBigInt" : sUN "prim__addBigInt" : concat usedIn
50− defsIn <- mkDecls tm used
52− -- TODO: traverse all names correctly
54 -- TODO: DEBUG-ONLY, remove
51 -- TODO: DEBUG-ONLY, remove
55 ctx <- tt_ctxt <$> getIState
52 ctx <- tt_ctxt <$> getIState
@@ -65,11 +62,14 @@ compile codegen f tm
65 -- END TODO
62 -- END TODO
67 maindef <- irMain tm
64 maindef <- irMain tm
65+ iLOG $ "MAIN: " ++ show maindef
66+ iLOG $ "USED: " ++ show used
68 objs <- getObjectFiles codegen
67 objs <- getObjectFiles codegen
69 libs <- getLibs codegen
68 libs <- getLibs codegen
70 flags <- getFlags codegen
69 flags <- getFlags codegen
71 hdrs <- getHdrs codegen
70 hdrs <- getHdrs codegen
72 impdirs <- allImportDirs
71 impdirs <- allImportDirs
72+ defsIn <- mkDecls tm used
73 let defs = defsIn ++ [(sMN 0 "runMain", maindef)]
73 let defs = defsIn ++ [(sMN 0 "runMain", maindef)]
74 -- iputStrLn $ showSep "\n" (map show defs)
74 -- iputStrLn $ showSep "\n" (map show defs)
75 let (nexttag, tagged) = addTags 65536 (liftAll defs)
75 let (nexttag, tagged) = addTags 65536 (liftAll defs)
@@ -278,8 +278,8 @@ instance ToIR (TT Name) where
278 args' <- mapM (ir' env) args
278 args' <- mapM (ir' env) args
279 return (LApp False f' args')
279 return (LApp False f' args')
280 where mkUsed u i [] = []
280 where mkUsed u i [] = []
281− mkUsed u i (x : xs) | i `notElem` u = LNothing : mkUsed u (i + 1) xs
281+ mkUsed u i (x : xs) | i `elem` u = x : mkUsed u (i + 1) xs
282− | otherwise = x : mkUsed u (i + 1) xs
282+ | otherwise = LNothing : mkUsed u (i + 1) xs
283-- ir' env (P _ (NS (UN "Z") ["Nat", "Prelude"]) _)
283-- ir' env (P _ (NS (UN "Z") ["Nat", "Prelude"]) _)
284-- = return $ LConst (BI 0)
284-- = return $ LConst (BI 0)
285 ir' env (P _ n _) = return $ LV (Glob n)
285 ir' env (P _ n _) = return $ LV (Glob n)