on master help sign in
Rename Optimize modules about cases and decision trees
e303fbaEvan Czaplicki
elm-compiler.cabal+2−2
@@ -87,10 +87,10 @@ Library
87 Nitpick.PatternMatches,
87 Nitpick.PatternMatches,
88 Nitpick.TopLevelTypes,
88 Nitpick.TopLevelTypes,
89 Optimize,
89 Optimize,
90+ Optimize.Case,
91+ Optimize.DecisionTree,
90 Optimize.Environment,
92 Optimize.Environment,
91 Optimize.Inline,
93 Optimize.Inline,
92− Optimize.Patterns,
93− Optimize.Patterns.DecisionTree,
94 Parse.Binop,
94 Parse.Binop,
95 Parse.Declaration,
95 Parse.Declaration,
96 Parse.Expression,
96 Parse.Expression,
src/AST/Expression/Optimized.hs+1−1
@@ -10,7 +10,7 @@ import qualified AST.Literal as Literal
10import qualified AST.Module.Name as ModuleName
10import qualified AST.Module.Name as ModuleName
11import qualified AST.Type as Type
11import qualified AST.Type as Type
12import qualified AST.Variable as Var
12import qualified AST.Variable as Var
13−import qualified Optimize.Patterns.DecisionTree as DT
13+import qualified Optimize.DecisionTree as DT
14import qualified Reporting.Region as R
14import qualified Reporting.Region as R
15
15
16
16
src/Generate/JavaScript/Expression.hs+1−1
@@ -16,7 +16,7 @@ import qualified Generate.JavaScript.BuiltIn as BuiltIn
16import qualified Generate.JavaScript.Literal as Literal
16import qualified Generate.JavaScript.Literal as Literal
17import qualified Generate.JavaScript.Port as Port
17import qualified Generate.JavaScript.Port as Port
18import qualified Generate.JavaScript.Variable as Var
18import qualified Generate.JavaScript.Variable as Var
19−import qualified Optimize.Patterns.DecisionTree as DT
19+import qualified Optimize.DecisionTree as DT
20
20
21
21
22-- CODE CHUNKS
22-- CODE CHUNKS
src/Nitpick/PatternMatches.hs+2−2
@@ -15,7 +15,7 @@ import qualified AST.Pattern as Pattern
15import qualified AST.Variable as Var
15import qualified AST.Variable as Var
16import Elm.Utils ((|>))
16import Elm.Utils ((|>))
17import Nitpick.Pattern (Pattern(..), fromCanonicalPattern)
17import Nitpick.Pattern (Pattern(..), fromCanonicalPattern)
18−import qualified Optimize.Patterns.DecisionTree as Opt
18+import qualified Optimize.DecisionTree as DT
19import qualified Reporting.Annotation as A
19import qualified Reporting.Annotation as A
20import qualified Reporting.Error.Pattern as Error
20import qualified Reporting.Error.Pattern as Error
21import qualified Reporting.Region as Region
21import qualified Reporting.Region as Region
@@ -25,7 +25,7 @@ import qualified Reporting.Result as Result
25patternMatches
25patternMatches
26 :: Module.Interfaces
26 :: Module.Interfaces
27 -> Module.CanonicalModule
27 -> Module.CanonicalModule
28− -> Result.Result w Error.Error Opt.VariantDict
28+ -> Result.Result w Error.Error DT.VariantDict
29patternMatches interfaces modul =
29patternMatches interfaces modul =
30 let
30 let
31 name = Module.name modul
31 name = Module.name modul
src/Optimize.hs+3−3
@@ -11,10 +11,10 @@ import qualified AST.Module as Module
11import qualified AST.Module.Name as ModuleName
11import qualified AST.Module.Name as ModuleName
12import qualified AST.Pattern as P
12import qualified AST.Pattern as P
13import qualified AST.Variable as Var
13import qualified AST.Variable as Var
14+import qualified Optimize.Case as Case
15+import qualified Optimize.DecisionTree as DT
14import qualified Optimize.Environment as Env
16import qualified Optimize.Environment as Env
15import qualified Optimize.Inline as Inline
17import qualified Optimize.Inline as Inline
16−import qualified Optimize.Patterns as Patterns
17−import qualified Optimize.Patterns.DecisionTree as DT
18import qualified Reporting.Annotation as A
18import qualified Reporting.Annotation as A
19import qualified Reporting.Region as R
19import qualified Reporting.Region as R
20
20
@@ -257,7 +257,7 @@ optimizeExpr context annExpr@(A.A region expression) =
257
257
258 name <- Env.freshName
258 name <- Env.freshName
259 optBranches <- T.traverse (optimizeBranch context name) branches
259 optBranches <- T.traverse (optimizeBranch context name) branches
260− optCase <- Patterns.optimize variantDict region name optBranches
260+ optCase <- Case.optimize variantDict region name optBranches
261 return $ Opt.Let [ Opt.Def Opt.dummyFacts name optExpr ] optCase
261 return $ Opt.Let [ Opt.Def Opt.dummyFacts name optExpr ] optCase
262
262
263 Expr.Data name exprs ->
263 Expr.Data name exprs ->
src/Optimize/Patterns.hs → src/Optimize/Case.hsrenamed+2−2
@@ -1,5 +1,5 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2−module Optimize.Patterns (optimize) where
2+module Optimize.Case (optimize) where
3
3
4import Control.Arrow (second)
4import Control.Arrow (second)
5import qualified Data.Map as Map
5import qualified Data.Map as Map
@@ -8,8 +8,8 @@ import qualified Data.Maybe as Maybe
8
8
9import qualified AST.Expression.Optimized as Opt
9import qualified AST.Expression.Optimized as Opt
10import qualified AST.Pattern as P
10import qualified AST.Pattern as P
11+import qualified Optimize.DecisionTree as DT
11import qualified Optimize.Environment as Env
12import qualified Optimize.Environment as Env
12−import qualified Optimize.Patterns.DecisionTree as DT
13import qualified Reporting.Annotation as A
13import qualified Reporting.Annotation as A
14import qualified Reporting.Region as R
14import qualified Reporting.Region as R
15
15
src/Optimize/Patterns/DecisionTree.hs → src/Optimize/DecisionTree.hsrenamed+1−1
@@ -1,5 +1,5 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2−module Optimize.Patterns.DecisionTree where
2+module Optimize.DecisionTree where
3{- To learn more about how this works, definitely read through:
3{- To learn more about how this works, definitely read through:
4
4
5 "When Do Match-Compilation Heuristics Matter?"
5 "When Do Match-Compilation Heuristics Matter?"
src/Optimize/Environment.hs+1−1
@@ -8,7 +8,7 @@ module Optimize.Environment
8
8
9import qualified Control.Monad.State as State
9import qualified Control.Monad.State as State
10
10
11−import qualified Optimize.Patterns.DecisionTree as DT
11+import qualified Optimize.DecisionTree as DT
12
12
13
13
14type Optimizer a =
14type Optimizer a =