on master help sign in
Move Transform.Substitute under Generate/
a5ef599Evan Czaplicki
elm-compiler.cabal+1−1
@@ -72,9 +72,9 @@ Library
72 Generate.JavaScript.Port,
72 Generate.JavaScript.Port,
73 Generate.JavaScript.Variable,
73 Generate.JavaScript.Variable,
74 Generate.Cases,
74 Generate.Cases,
75+ Generate.Substitute,
75 Transform.AddDefaultImports,
76 Transform.AddDefaultImports,
76 Transform.Interface,
77 Transform.Interface,
77− Transform.Substitute,
78 Parse.Binop,
78 Parse.Binop,
79 Parse.Declaration,
79 Parse.Declaration,
80 Parse.Expression,
80 Parse.Expression,
src/Generate/Cases.hs+5−5
@@ -12,8 +12,8 @@ import qualified AST.Expression.Canonical as Canonical
12import qualified AST.Literal as Literal
12import qualified AST.Literal as Literal
13import qualified AST.Pattern as P
13import qualified AST.Pattern as P
14import qualified AST.Variable as Var
14import qualified AST.Variable as Var
15+import qualified Generate.Substitute as S
15import qualified Reporting.Annotation as A
16import qualified Reporting.Annotation as A
16−import Transform.Substitute (subst)
17
17
18
18
19-- MATCHES
19-- MATCHES
@@ -62,7 +62,7 @@ matchSubst pairs match =
62 Seq (map (matchSubst pairs) ms)
62 Seq (map (matchSubst pairs) ms)
63
63
64 Other (A.A a e) ->
64 Other (A.A a e) ->
65− Other . A.A a $ foldr ($) e $ map (\(x,y) -> subst x (Expr.localVar y)) pairs
65+ Other . A.A a $ foldr ($) e $ map (\(x,y) -> S.subst x (Expr.localVar y)) pairs
66
66
67 Match n cs m ->
67 Match n cs m ->
68 Match (varSubst n) (map clauseSubst cs) (matchSubst pairs m)
68 Match (varSubst n) (map clauseSubst cs) (matchSubst pairs m)
@@ -103,7 +103,7 @@ dealias var branch@(p:ps, A.A ann e) =
103 case p of
103 case p of
104 A.A _ (P.Alias alias pattern) ->
104 A.A _ (P.Alias alias pattern) ->
105 ( pattern:ps
105 ( pattern:ps
106− , A.A ann (subst alias (Expr.localVar var) e)
106+ , A.A ann (S.subst alias (Expr.localVar var) e)
107 )
107 )
108
108
109 _ ->
109 _ ->
@@ -143,12 +143,12 @@ matchVar (var:vars) branches match =
143 expr
143 expr
144
144
145 P.Var x ->
145 P.Var x ->
146− subst x (Expr.localVar var) expr
146+ S.subst x (Expr.localVar var) expr
147
147
148 P.Record fields ->
148 P.Record fields ->
149 let access = Expr.Access (A.A ann (Expr.localVar var))
149 let access = Expr.Access (A.A ann (Expr.localVar var))
150 in
150 in
151− foldr (\x -> subst x (access x)) expr fields
151+ foldr (\x -> S.subst x (access x)) expr fields
152
152
153 _ ->
153 _ ->
154 noMatch "matchVar.subVar"
154 noMatch "matchVar.subVar"
src/Transform/Substitute.hs → src/Generate/Substitute.hsrenamed+1−1
@@ -1,5 +1,5 @@
1{-# OPTIONS_GHC -Wall #-}
1{-# OPTIONS_GHC -Wall #-}
2−module Transform.Substitute (subst) where
2+module Generate.Substitute (subst) where
3
3
4import Control.Arrow (second, (***))
4import Control.Arrow (second, (***))
5
5