on master help sign in
Get the correct exports
commit96136beaf54412e48add07f98cd25e820bfa7545 authorEvan Czaplicki <info@elm-lang.org> dateThu 1 Aug 2013, 22:48 (13 years ago) parentc85fed1
1 file changed+9−7
compiler/Initialize.hs+9−7
compiler/Initialize.hs+9−7
@@ -31,10 +31,17 @@ buildFromSource noPrelude interfaces source =
3131 [] -> return modul
3232 ms -> Left ms
3333
34+ let exports'
35+ | null exs =
36+ let get = Set.toList . SD.boundVars in
37+ concat [ get pattern | Definition (Def pattern _) <- decls ] ++
38+ concat [ map fst ctors | Datatype _ _ ctors <- decls ]
39+ | otherwise = exs
40+
3441 metaModule <- Canonical.metadataModule interfaces $ MetadataModule {
3542 names = names,
3643 path = FP.joinPath names,
37− exports = exs,
44+ exports = exports',
3845 imports = ims,
3946 -- reorder AST into strongly connected components
4047 program = SD.sortDefs . dummyLet $ TcDecl.toExpr decls,
@@ -48,12 +55,7 @@ buildFromSource noPrelude interfaces source =
4855
4956 types <- TI.infer interfaces metaModule
5057
51− let exports' | null exs =
52− Map.keys types ++
53− concat [ map fst ctors | (_,_,ctors) <- datatypes metaModule ]
54− | otherwise = exs
55−
56− return $ metaModule { types = types, exports = exports' }
58+ return $ metaModule { types = types }
5759
5860
5961getSortedDependencies :: Bool -> FilePath -> IO [String]