diff options
Diffstat (limited to 'src/Analysis/Identity.hs')
-rw-r--r-- | src/Analysis/Identity.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Analysis/Identity.hs b/src/Analysis/Identity.hs index 020ca34..5e36dde 100644 --- a/src/Analysis/Identity.hs +++ b/src/Analysis/Identity.hs @@ -237,20 +237,20 @@ idana env expr = case expr of res <- genIds t4 pure (res, ECustom res t1 t2 t3 e1' e2' e3' e4' e5') - EWith _ e1 e2 -> do + EWith _ t e1 e2 -> do let t1 = typeOf e1 (_, e1') <- idana env e1 x1 <- VIAccum <$> genId (v2, e2') <- idana (x1 `SCons` env) e2 x2 <- genIds t1 let res = VIPair v2 x2 - pure (res, EWith res e1' e2') + pure (res, EWith res t e1' e2') - EAccum _ i e1 e2 e3 -> do + EAccum _ t prj e1 e2 e3 -> do (_, e1') <- idana env e1 (_, e2') <- idana env e2 (_, e3') <- idana env e3 - pure (VINil, EAccum VINil i e1' e2' e3') + pure (VINil, EAccum VINil t prj e1' e2' e3') EZero _ t -> do res <- genIds (d2 t) |