git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Retain imports in externs files
b35f4d2Gary Burgess
src/Language/PureScript/CodeGen/Externs.hs+7−7
@@ -36,17 +36,17 @@ import Language.PureScript.Environment
36moduleToPs :: Module -> Environment -> String
36moduleToPs :: Module -> Environment -> String
37moduleToPs (Module _ _ Nothing) _ = error "Module exports were not elaborated in moduleToPs"
37moduleToPs (Module _ _ Nothing) _ = error "Module exports were not elaborated in moduleToPs"
38moduleToPs (Module moduleName ds (Just exts)) env = intercalate "\n" . execWriter $ do
38moduleToPs (Module moduleName ds (Just exts)) env = intercalate "\n" . execWriter $ do
39− tell [ "module " ++ runModuleName moduleName ++ " where"
39+ tell [ "module " ++ runModuleName moduleName ++ " where"]
40− , "import Prelude ()" ]
41− mapM_ fixityToPs ds
40+ mapM_ declToPs ds
42 mapM_ exportToPs exts
41 mapM_ exportToPs exts
43 where
42 where
44
43
45− fixityToPs :: Declaration -> Writer [String] ()
44+ declToPs :: Declaration -> Writer [String] ()
45+ declToPs (ImportDeclaration mn _ _) = tell ["import " ++ show mn ++ " ()"]
46− fixityToPs (FixityDeclaration (Fixity assoc prec) ident) =
46+ declToPs (FixityDeclaration (Fixity assoc prec) ident) =
47 tell [ unwords [ show assoc, show prec, ident ] ]
47 tell [ unwords [ show assoc, show prec, ident ] ]
48− fixityToPs (PositionedDeclaration _ d) = fixityToPs d
48+ declToPs (PositionedDeclaration _ d) = declToPs d
49− fixityToPs _ = return ()
49+ declToPs _ = return ()
50
50
51 exportToPs :: DeclarationRef -> Writer [String] ()
51 exportToPs :: DeclarationRef -> Writer [String] ()
52 exportToPs (PositionedDeclarationRef _ r) = exportToPs r
52 exportToPs (PositionedDeclarationRef _ r) = exportToPs r