on master help sign in
Suppress warning in favor of TODO about validating effects
f6e6affEvan Czaplicki
src/Canonicalize.hs+13−10
@@ -46,7 +46,7 @@ module'
46 -> R.Result Warning.Warning Error.Error Module.Canonical
46 -> R.Result Warning.Warning Error.Error Module.Canonical
47module' canonicalImports interfaces modul =
47module' canonicalImports interfaces modul =
48 let
48 let
49− (Module.Valid docs exports imports decls effects) =
49+ (Module.Valid docs exports imports decls _) = -- TODO do something with `effects`
50 Module.info modul
50 Module.info modul
51
51
52 importDict =
52 importDict =
@@ -389,9 +389,11 @@ expression env (A.A region validExpr) =
389 <*> go rightExpr
389 <*> go rightExpr
390
390
391 Lambda arg body ->
391 Lambda arg body ->
392+ let
393+ env' =
392− let env' = Env.addPattern arg env
394+ Env.addPattern arg env
393 in
395 in
394− Lambda <$> pattern env' arg <*> expression env' body
396+ Lambda <$> pattern env' arg <*> expression env' body
395
397
396 App func arg ->
398 App func arg ->
397 App <$> go func <*> go arg
399 App <$> go func <*> go arg
@@ -408,13 +410,13 @@ expression env (A.A region validExpr) =
408 Let <$> T.traverse rename' defs <*> expression env' body
410 Let <$> T.traverse rename' defs <*> expression env' body
409 where
411 where
410 env' =
412 env' =
411− foldr Env.addPattern env $ map (\(Valid.Definition p _ _) -> p) defs
413+ foldr Env.addPattern env $ map (\(Valid.Definition p _ _) -> p) defs
412
414
413 rename' (Valid.Definition p body mtipe) =
415 rename' (Valid.Definition p body mtipe) =
414− Canonical.Definition Canonical.dummyFacts
416+ Canonical.Definition Canonical.dummyFacts
415− <$> pattern env' p
417+ <$> pattern env' p
416− <*> expression env' body
418+ <*> expression env' body
417− <*> T.traverse (regionType env') mtipe
419+ <*> T.traverse (regionType env') mtipe
418
420
419 Var (Var.Raw x) ->
421 Var (Var.Raw x) ->
420 Var <$> Canonicalize.variable region env x
422 Var <$> Canonicalize.variable region env x
@@ -429,8 +431,9 @@ expression env (A.A region validExpr) =
429 Case <$> go expr <*> T.traverse branch cases
431 Case <$> go expr <*> T.traverse branch cases
430 where
432 where
431 branch (ptrn, brnch) =
433 branch (ptrn, brnch) =
434+ (,)
432− (,) <$> pattern env ptrn
435+ <$> pattern env ptrn
433− <*> expression (Env.addPattern ptrn env) brnch
436+ <*> expression (Env.addPattern ptrn env) brnch
434
437
435 GLShader uid src tipe ->
438 GLShader uid src tipe ->
436 Result.ok (GLShader uid src tipe)
439 Result.ok (GLShader uid src tipe)