on master help sign in
Improve variable names in Transform.SortDefinitions
7d83638Evan Czaplicki
src/Transform/SortDefinitions.hs+39−35
@@ -51,74 +51,78 @@ bound boundVars =
51
51
52
52
53sortDefs :: Canonical.Expr -> Canonical.Expr
53sortDefs :: Canonical.Expr -> Canonical.Expr
54−sortDefs expr =
54+sortDefs expression =
55− evalState (reorder expr) Set.empty
55+ evalState (reorder expression) Set.empty
56
56
57
57
58reorder :: Canonical.Expr -> State (Set.Set String) Canonical.Expr
58reorder :: Canonical.Expr -> State (Set.Set String) Canonical.Expr
59−reorder (A ann expr) =
59+reorder (A ann expression) =
60 A ann <$>
60 A ann <$>
61− case expr of
61+ case expression of
62 -- Be careful adding and restricting freeVars
62 -- Be careful adding and restricting freeVars
63 Var var ->
63 Var var ->
64− freeIfLocal var >> return expr
64+ do freeIfLocal var
65+ return expression
65
66
66− Lambda p e ->
67+ Lambda pattern body ->
67− uncurry Lambda <$> bindingReorder (p,e)
68+ uncurry Lambda <$> bindingReorder (pattern,body)
68
69
69− Binop op e1 e2 ->
70+ Binop op leftExpr rightExpr ->
70 do freeIfLocal op
71 do freeIfLocal op
71− Binop op <$> reorder e1 <*> reorder e2
72+ Binop op <$> reorder leftExpr <*> reorder rightExpr
72
73
73− Case e cases ->
74+ Case expr cases ->
74− Case <$> reorder e <*> mapM bindingReorder cases
75+ Case <$> reorder expr <*> mapM bindingReorder cases
75
76
76− Data name es ->
77+ Data name exprs ->
77 do free name
78 do free name
78− Data name <$> mapM reorder es
79+ Data name <$> mapM reorder exprs
79
80
80 -- Just pipe the reorder though
81 -- Just pipe the reorder though
81 Literal _ ->
82 Literal _ ->
82− return expr
83+ return expression
83
84
84− Range e1 e2 ->
85+ Range lowExpr highExpr ->
85− Range <$> reorder e1 <*> reorder e2
86+ Range <$> reorder lowExpr <*> reorder highExpr
86
87
87 ExplicitList es ->
88 ExplicitList es ->
88 ExplicitList <$> mapM reorder es
89 ExplicitList <$> mapM reorder es
89
90
90− App e1 e2 ->
91+ App func arg ->
91− App <$> reorder e1 <*> reorder e2
92+ App <$> reorder func <*> reorder arg
92
93
93 MultiIf branches ->
94 MultiIf branches ->
94− MultiIf <$> mapM (\(e1,e2) -> (,) <$> reorder e1 <*> reorder e2) branches
95+ MultiIf <$> mapM (\(cond,branch) -> (,) <$> reorder cond <*> reorder branch) branches
95
96
96− Access e lbl ->
97+ Access record field ->
97− Access <$> reorder e <*> return lbl
98+ Access <$> reorder record <*> return field
98
99
99− Remove e lbl ->
100+ Remove record field ->
100− Remove <$> reorder e <*> return lbl
101+ Remove <$> reorder record <*> return field
101
102
102− Insert e lbl v ->
103+ Insert record field expr ->
103− Insert <$> reorder e <*> return lbl <*> reorder v
104+ Insert <$> reorder record <*> return field <*> reorder expr
104
105
105− Modify e fields ->
106+ Modify record fields ->
107+ Modify
108+ <$> reorder record
106− Modify <$> reorder e <*> mapM (\(k,v) -> (,) k <$> reorder v) fields
109+ <*> mapM (\(field,expr) -> (,) field <$> reorder expr) fields
107
110
108 Record fields ->
111 Record fields ->
112+ Record
109− Record <$> mapM (\(k,v) -> (,) k <$> reorder v) fields
113+ <$> mapM (\(field,expr) -> (,) field <$> reorder expr) fields
110
114
111 GLShader _ _ _ ->
115 GLShader _ _ _ ->
112− return expr
116+ return expression
113
117
114− Input name st ->
118+ Input name tipe ->
115− return $ Input name st
119+ return $ Input name tipe
116
120
117− Output name st signal ->
121+ Output name tipe signal ->
118− Output name st <$> reorder signal
122+ Output name tipe <$> reorder signal
119
123
120− Loopback name st maybeExpr ->
124+ Loopback name tipe maybeExpr ->
121− Loopback name st <$>
125+ Loopback name tipe <$>
122 maybe (return Nothing) (fmap Just . reorder) maybeExpr
126 maybe (return Nothing) (fmap Just . reorder) maybeExpr
123
127
124 -- Actually do some reordering
128 -- Actually do some reordering