on master help sign in
Improve names in Transform.Canonicalize
commitbf8334ce110b77ca78abe157618c015d6b907ce2 authorEvan Czaplicki <info@elm-lang.org> dateSat 7 Mar 2015, 17:29 (12 years ago) parentec87c8e
1 file changed+43−37
src/Transform/Canonicalize.hs+43−37
src/Transform/Canonicalize.hs+43−37
@@ -228,7 +228,7 @@ expression
228228 :: Env.Environment
229229 -> Valid.Expr
230230 -> Env.Canonicalizer [Doc] Canonical.Expr
231−expression env (A.A ann expr) =
231+expression env (A.A ann validExpr) =
232232 let go = expression env
233233 tipe' environ = format . Canonicalize.tipe environ
234234 throw err =
@@ -239,49 +239,55 @@ expression env (A.A ann expr) =
239239 format = Env.onError throw
240240 in
241241 A.A ann <$>
242− case expr of
242+ case validExpr of
243243 Literal lit ->
244244 return (Literal lit)
245245
246− Range e1 e2 ->
247− Range <$> go e1 <*> go e2
246+ Range lowExpr highExpr ->
247+ Range <$> go lowExpr <*> go highExpr
248248
249− Access e x ->
250− Access <$> go e <*> return x
249+ Access record field ->
250+ Access <$> go record <*> return field
251251
252− Remove e x ->
253− flip Remove x <$> go e
252+ Remove record field ->
253+ flip Remove field <$> go record
254254
255− Insert e x v ->
256− flip Insert x <$> go e <*> go v
255+ Insert record field expr ->
256+ flip Insert field <$> go record <*> go expr
257257
258− Modify e fs ->
259− Modify <$> go e <*> mapM (\(k,v) -> (,) k <$> go v) fs
258+ Modify record fields ->
259+ Modify
260+ <$> go record
261+ <*> mapM (\(field,expr) -> (,) field <$> go expr) fields
260262
261− Record fs ->
262− Record <$> mapM (\(k,v) -> (,) k <$> go v) fs
263+ Record fields ->
264+ Record
265+ <$> mapM (\(field,expr) -> (,) field <$> go expr) fields
263266
264− Binop (Var.Raw op) e1 e2 ->
267+ Binop (Var.Raw op) leftExpr rightExpr ->
265268 do op' <- format (Canonicalize.variable env op)
266− Binop op' <$> go e1 <*> go e2
269+ Binop op' <$> go leftExpr <*> go rightExpr
267270
268− Lambda p e ->
269− let env' = Env.addPattern p env
271+ Lambda arg body ->
272+ let env' = Env.addPattern arg env
270273 in
271− Lambda <$> format (pattern env' p) <*> expression env' e
274+ Lambda <$> format (pattern env' arg) <*> expression env' body
272275
273− App e1 e2 ->
274− App <$> go e1 <*> go e2
276+ App func arg ->
277+ App <$> go func <*> go arg
275278
276− MultiIf ps ->
277− MultiIf <$> mapM go' ps
279+ MultiIf branches ->
280+ MultiIf <$> mapM go' branches
278281 where
279− go' (b,e) = (,) <$> go b <*> go e
282+ go' (condition, branch) =
283+ (,) <$> go condition <*> go branch
280284
281− Let defs e ->
282− Let <$> mapM rename' defs <*> expression env' e
285+ Let defs body ->
286+ Let <$> mapM rename' defs <*> expression env' body
283287 where
284− env' = foldr Env.addPattern env $ map (\(Valid.Definition p _ _) -> p) defs
288+ env' =
289+ foldr Env.addPattern env $ map (\(Valid.Definition p _ _) -> p) defs
290+
285291 rename' (Valid.Definition p body mtipe) =
286292 Canonical.Definition
287293 <$> format (pattern env' p)
@@ -291,14 +297,14 @@ expression env (A.A ann expr) =
291297 Var (Var.Raw x) ->
292298 Var <$> format (Canonicalize.variable env x)
293299
294− Data name es ->
295− Data name <$> mapM go es
300+ Data name exprs ->
301+ Data name <$> mapM go exprs
296302
297− ExplicitList es ->
298− ExplicitList <$> mapM go es
303+ ExplicitList exprs ->
304+ ExplicitList <$> mapM go exprs
299305
300− Case e cases ->
301− Case <$> go e <*> mapM branch cases
306+ Case expr cases ->
307+ Case <$> go expr <*> mapM branch cases
302308 where
303309 branch (p,b) =
304310 (,) <$> format (pattern env p)
@@ -307,11 +313,11 @@ expression env (A.A ann expr) =
307313 Input name tipe ->
308314 Input name <$> tipe' env tipe
309315
310− Output name st signal ->
311− Output name <$> tipe' env st <*> go signal
316+ Output name tipe expr ->
317+ Output name <$> tipe' env tipe <*> go expr
312318
313− Loopback name st maybeExpr ->
314− Loopback name <$> tipe' env st <*> T.traverse go maybeExpr
319+ Loopback name tipe maybeExpr ->
320+ Loopback name <$> tipe' env tipe <*> T.traverse go maybeExpr
315321
316322 GLShader uid src tipe ->
317323 return (GLShader uid src tipe)