on master help sign in
Use better variable names in Transform.Expression
d69c384Evan Czaplicki
src/Transform/Expression.hs+27−25
@@ -40,20 +40,20 @@ crawl
40 -> ([def] -> Either a [def'])
40 -> ([def] -> Either a [def'])
41 -> Expr ann def var
41 -> Expr ann def var
42 -> Either a (Expr ann def' var)
42 -> Either a (Expr ann def' var)
43−crawl inputCheck outputCheck loopbackCheck defsTransform expression =
43+crawl inputCheck outputCheck loopbackCheck defsTransform annotatedExpression =
44− go expression
44+ go annotatedExpression
45 where
45 where
46− go (A srcSpan expr) =
46+ go (A srcSpan expression) =
47 A srcSpan <$>
47 A srcSpan <$>
48− case expr of
48+ case expression of
49 Var x ->
49 Var x ->
50 return (Var x)
50 return (Var x)
51
51
52− Lambda p e ->
52+ Lambda pattern body ->
53− Lambda p <$> go e
53+ Lambda pattern <$> go body
54
54
55− Binop op e1 e2 ->
55+ Binop op leftExpr rightExpr ->
56− Binop op <$> go e1 <*> go e2
56+ Binop op <$> go leftExpr <*> go rightExpr
57
57
58 Case e cases ->
58 Case e cases ->
59 Case <$> go e <*> mapM (\(p,b) -> (,) p <$> go b) cases
59 Case <$> go e <*> mapM (\(p,b) -> (,) p <$> go b) cases
@@ -64,32 +64,34 @@ crawl inputCheck outputCheck loopbackCheck defsTransform expression =
64 Literal lit ->
64 Literal lit ->
65 return (Literal lit)
65 return (Literal lit)
66
66
67− Range e1 e2 ->
67+ Range lowExpr highExpr ->
68− Range <$> go e1 <*> go e2
68+ Range <$> go lowExpr <*> go highExpr
69
69
70− ExplicitList es ->
70+ ExplicitList expressions ->
71− ExplicitList <$> mapM go es
71+ ExplicitList <$> mapM go expressions
72
72
73− App e1 e2 ->
73+ App funcExpr argExpr ->
74− App <$> go e1 <*> go e2
74+ App <$> go funcExpr <*> go argExpr
75
75
76 MultiIf branches ->
76 MultiIf branches ->
77 MultiIf <$> mapM (\(b,e) -> (,) <$> go b <*> go e) branches
77 MultiIf <$> mapM (\(b,e) -> (,) <$> go b <*> go e) branches
78
78
79− Access e lbl ->
79+ Access record field ->
80− Access <$> go e <*> return lbl
80+ Access <$> go record <*> return field
81
81
82− Remove e lbl ->
82+ Remove record field ->
83− Remove <$> go e <*> return lbl
83+ Remove <$> go record <*> return field
84
84
85− Insert e lbl v ->
85+ Insert record field expr ->
86− Insert <$> go e <*> return lbl <*> go v
86+ Insert <$> go record <*> return field <*> go expr
87
87
88− Modify e fields ->
88+ Modify record fields ->
89+ Modify
90+ <$> go record
89− Modify <$> go e <*> mapM (\(k,v) -> (,) k <$> go v) fields
91+ <*> mapM (\(field,expr) -> (,) field <$> go expr) fields
90
92
91 Record fields ->
93 Record fields ->
92− Record <$> mapM (\(k,v) -> (,) k <$> go v) fields
94+ Record <$> mapM (\(field,expr) -> (,) field <$> go expr) fields
93
95
94 Let defs body ->
96 Let defs body ->
95 Let <$> defsTransform defs <*> go body
97 Let <$> defsTransform defs <*> go body
@@ -101,9 +103,9 @@ crawl inputCheck outputCheck loopbackCheck defsTransform expression =
101 do inputCheck name st
103 do inputCheck name st
102 return $ Input name st
104 return $ Input name st
103
105
104− Output name st signal ->
106+ Output name st expr ->
105 do outputCheck name st
107 do outputCheck name st
106− Output name st <$> go signal
108+ Output name st <$> go expr
107
109
108 Loopback name st maybeExpr ->
110 Loopback name st maybeExpr ->
109 do let hasExpr = maybe False (const True) maybeExpr
111 do let hasExpr = maybe False (const True) maybeExpr