on master help sign in
changed names to camelcase
commitcb85d5e543f46345e8ce2c53b03f3eedc0e11347 authorRui Barreiro <rui.barreiro@gmail.com> dateWed 17 May 2017, 09:21 (9 years ago) parent0e01ff0
3 files changed+31−31
src/IRTS/JavaScript/AST.hs+2−2 src/IRTS/JavaScript/Codegen.hs+8−8 src/IRTS/JavaScript/LangTransforms.hs+21−21
src/IRTS/JavaScript/AST.hs+2−2
@@ -9,7 +9,7 @@ Maintainer : The Idris Community.
99
1010module IRTS.JavaScript.AST( JsAST(..)
1111 , jsAst2Text
12− , js_aux_defs
12+ , jsAuxDefs
1313 ) where
1414
1515import Data.Char
@@ -214,7 +214,7 @@ force = T.concat [ "var js_idris_force = function (x){\n"
214214 , "}\n\n"
215215 ]
216216
217−js_aux_defs = T.concat [throw2, force]
217+jsAuxDefs = T.concat [throw2, force]
218218
219219default2Text :: Maybe JsAST -> Text
220220default2Text Nothing = ""
src/IRTS/JavaScript/Codegen.hs+8−8
@@ -59,12 +59,12 @@ data CGConf = CGConf { header :: Text
5959 }
6060
6161
62−get_include :: FilePath -> IO Text
63−get_include p = TIO.readFile p
62+getInclude :: FilePath -> IO Text
63+getInclude p = TIO.readFile p
6464
65−get_includes :: [FilePath] -> IO Text
66−get_includes l = do
67− incs <- mapM get_include l
65+getIncludes :: [FilePath] -> IO Text
66+getIncludes l = do
67+ incs <- mapM getInclude l
6868 return $ T.intercalate "\n\n" incs
6969
7070isYes :: Maybe String -> Bool
@@ -83,7 +83,7 @@ codegenJs conf ci =
8383 else putStrLn "compiling widthout idris-js optimizations"
8484 else pure ()
8585 let defs = Map.fromList $ liftDecls ci
86− let used = Map.elems $ used_defs defs [sMN 0 "runMain"]
86+ let used = Map.elems $ removeDeadCode defs [sMN 0 "runMain"]
8787 if debug then
8888 do
8989 writeFile (outputFile ci ++ ".LDeclsDebug") $ (unlines $ intersperse "" $ map show used) ++ "\n\n\n"
@@ -98,7 +98,7 @@ codegenJs conf ci =
9898 else return ""
9999
100100
101− includes <- get_includes $ includes ci
101+ includes <- getIncludes $ includes ci
102102 TIO.writeFile (outputFile ci) $ T.concat [ header conf
103103 , "\"use strict\";\n\n"
104104 , "(function(){\n\n"
@@ -106,7 +106,7 @@ codegenJs conf ci =
106106 , initialization conf stats
107107 , doPartials (partialApplications stats)
108108 , includes, "\n"
109− , js_aux_defs, "\n"
109+ , jsAuxDefs, "\n"
110110 , out, "\n"
111111 , "\n"
112112 , jsName (sMN 0 "runMain"), "();\n\n"
src/IRTS/JavaScript/LangTransforms.hs+21−21
@@ -5,10 +5,10 @@ Copyright :
55License : BSD3
66Maintainer : The Idris Community.
77-}
8−{-# LANGUAGE DeriveDataTypeable, DeriveGeneric,
9− FlexibleInstances, OverloadedStrings, StandaloneDeriving #-}
8+{-# LANGUAGE DeriveDataTypeable, DeriveGeneric, FlexibleInstances,
9+ OverloadedStrings, StandaloneDeriving #-}
1010
11−module IRTS.JavaScript.LangTransforms( used_defs
11+module IRTS.JavaScript.LangTransforms( removeDeadCode
1212 ) where
1313
1414
@@ -56,33 +56,33 @@ mapMapListKeys _ [] x = x
5656mapMapListKeys f (t:r) x = mapMapListKeys f r $ Map.adjust f t x
5757
5858
59−extract_globs :: Map Name LDecl -> LDecl -> [Name]
60−extract_globs defs (LConstructor _ _ _) = []
61−extract_globs defs (LFun _ _ _ e) =
59+extractGlobs :: Map Name LDecl -> LDecl -> [Name]
60+extractGlobs defs (LConstructor _ _ _) = []
61+extractGlobs defs (LFun _ _ _ e) =
6262 let f (LV (Glob x)) = Just x
6363 f (LLazyApp x _) = Just x
6464 f _ = Nothing
6565 in [x | Just x <- map f $ universe e, Map.member x defs]
6666
67−used_functions :: Map Name LDecl -> Set Name -> [Name] -> [Name]
68−used_functions _ _ [] = []
69−used_functions alldefs done names =
67+usedFunctions :: Map Name LDecl -> Set Name -> [Name] -> [Name]
68+usedFunctions _ _ [] = []
69+usedFunctions alldefs done names =
7070 let decls = catMaybes $ map (\x -> Map.lookup x alldefs) names
71− used_names = (nub $ concat $ map (extract_globs alldefs) decls) \\ names
71+ used_names = (nub $ concat $ map (extractGlobs alldefs) decls) \\ names
7272 new_names = filter (\x -> not $ Set.member x done) used_names
73− in used_names ++ used_functions alldefs (Set.union done $ Set.fromList new_names) new_names
73+ in used_names ++ usedFunctions alldefs (Set.union done $ Set.fromList new_names) new_names
7474
7575
76−used_decls :: Map Name LDecl -> [Name] -> Map Name LDecl
77−used_decls dcls start =
78− let used = reverse $ start ++ used_functions dcls (Set.fromList start) start
76+usedDecls :: Map Name LDecl -> [Name] -> Map Name LDecl
77+usedDecls dcls start =
78+ let used = reverse $ start ++ usedFunctions dcls (Set.fromList start) start
7979 in restrictKeys dcls (Set.fromList used) --catMaybes $ map (\x -> Map.lookup x dcls) used
8080
8181getUsedConstructors :: Map Name LDecl -> Set Name
8282getUsedConstructors x = Set.fromList [ n | LCon _ _ n _ <- universeBi x]
8383
84−remove_unused_branches :: Set Name -> Map Name LDecl -> Map Name LDecl
85−remove_unused_branches used x =
84+removeUnusedBranches :: Set Name -> Map Name LDecl -> Map Name LDecl
85+removeUnusedBranches used x =
8686 transformBi f x
8787 where
8888 f :: [LAlt] -> [LAlt]
@@ -91,9 +91,9 @@ remove_unused_branches used x =
9191 else r
9292 f x = x
9393
94−used_defs :: Map Name LDecl -> [Name] -> Map Name LDecl
95−used_defs dcls start =
96− let used = used_decls dcls start
97− remCons = remove_unused_branches (getUsedConstructors used) used
94+removeDeadCode :: Map Name LDecl -> [Name] -> Map Name LDecl
95+removeDeadCode dcls start =
96+ let used = usedDecls dcls start
97+ remCons = removeUnusedBranches (getUsedConstructors used) used
9898 in if Map.keys remCons == Map.keys dcls then remCons
99− else used_defs remCons start
99+ else removeDeadCode remCons start