@@ -58,7 +58,7 @@ moduleToCpp (Module _ coms mn _ imps exports foreigns decls) _ =
58 interfaceImport <- importToCpp (renameImports [] [(emptyAnn, mn)]) mn
58 interfaceImport <- importToCpp (renameImports [] [(emptyAnn, mn)]) mn
59 let decls' = renameModules mnLookup decls
59 let decls' = renameModules mnLookup decls
60 cppDecls <- mapM (bindToCpp ModuleDecl) decls'
60 cppDecls <- mapM (bindToCpp ModuleDecl) decls'
61− optimized <- traverse (traverse optimize) cppDecls
61+ optimized <- traverse (traverse (optimize modName')) cppDecls
62 let optimized' = concat optimized
62 let optimized' = concat optimized
63 exports' = mapMaybe (export $ identToCpp <$> exports) optimized'
63 exports' = mapMaybe (export $ identToCpp <$> exports) optimized'
64 foreigns' = identToCpp <$> foreigns
64 foreigns' = identToCpp <$> foreigns
@@ -68,6 +68,7 @@ moduleToCpp (Module _ coms mn _ imps exports foreigns decls) _ =
68 return $ (interface, foreigns', optimized', implHeader, implFooter)
68 return $ (interface, foreigns', optimized', implHeader, implFooter)
70 modName = moduleNameToCpp mn
70 modName = moduleNameToCpp mn
71+ modName' = AST.Var Nothing modName
72 export :: [Text] -> AST -> Maybe (Text, Bool)
73 export :: [Text] -> AST -> Maybe (Text, Bool)
73 export names (AST.Function _ (Just name) [] (AST.Block _ [AST.Return _ ret]))
74 export names (AST.Function _ (Just name) [] (AST.Block _ [AST.Return _ ret]))