aboutsummaryrefslogtreecommitdiff
path: root/src/Analysis/Identity.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Analysis/Identity.hs')
-rw-r--r--src/Analysis/Identity.hs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/Analysis/Identity.hs b/src/Analysis/Identity.hs
index 71da793..7b896a3 100644
--- a/src/Analysis/Identity.hs
+++ b/src/Analysis/Identity.hs
@@ -213,9 +213,8 @@ idana env expr = case expr of
EFold1Inner _ cm e1 e2 e3 -> do
let t1 = typeOf e1
- x1 <- genIds t1
- x2 <- genIds t1
- (_, e1') <- idana (x1 `SCons` x2 `SCons` env) e1
+ x1 <- genIds (STPair t1 t1)
+ (_, e1') <- idana (x1 `SCons` env) e1
(_, e2') <- idana env e2
(v3, e3') <- idana env e3
let VIArr _ (_ :< sh) = v3
@@ -268,9 +267,8 @@ idana env expr = case expr of
EFold1InnerD1 _ cm e1 e2 e3 -> do
let t1 = typeOf e2
- x1 <- genIds t1
- x2 <- genIds t1
- (_, e1') <- idana (x1 `SCons` x2 `SCons` env) e1
+ x1 <- genIds (STPair t1 t1)
+ (_, e1') <- idana (x1 `SCons` env) e1
(_, e2') <- idana env e2
(v3, e3') <- idana env e3
let VIArr _ sh'@(_ :< sh) = v3