diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-03-14 23:29:51 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-03-14 23:29:51 +0100 |
commit | fff6beda3523abce3d27037ea2fb020fce31f502 (patch) | |
tree | fbcfb97a8eb2366ec46e0612b4b308741a8b601e /src/Analysis/Identity.hs | |
parent | 137eaa13144c2599ac29da9ebd3af24ac1ce8968 (diff) |
Much process with accumulator revamp
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) |