@@ -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 =
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
52 importDict =
52 importDict =
@@ -389,9 +389,11 @@ expression env (A.A region validExpr) =
389 <*> go rightExpr
389 <*> go rightExpr
391 Lambda arg body ->
391 Lambda arg body ->
392− let env' = Env.addPattern arg env
394+ Env.addPattern arg env
394− Lambda <$> pattern env' arg <*> expression env' body
396+ Lambda <$> pattern env' arg <*> expression env' body
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
411− foldr Env.addPattern env $ map (\(Valid.Definition p _ _) -> p) defs
413+ foldr Env.addPattern env $ map (\(Valid.Definition p _ _) -> p) defs
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
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
431 branch (ptrn, brnch) =
433 branch (ptrn, brnch) =
432− (,) <$> pattern env ptrn
435+ <$> pattern env ptrn
433− <*> expression (Env.addPattern ptrn env) brnch
436+ <*> expression (Env.addPattern ptrn env) brnch
435 GLShader uid src tipe ->
438 GLShader uid src tipe ->
436 Result.ok (GLShader uid src tipe)
439 Result.ok (GLShader uid src tipe)