aboutsummaryrefslogtreecommitdiff
path: root/src/Analysis
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-11-04 23:09:21 +0100
committerTom Smeding <tom@tomsmeding.com>2025-11-04 23:09:21 +0100
commit57779d4303f377004705c8da06a5ac46177950b2 (patch)
tree0407089403d3d5c2de778c1aab7aed8adf2d01c0 /src/Analysis
parent351667a3ff14c96a8dfe3a2f1dd76b6e1a996542 (diff)
drevLambda works, TODO D[map]HEADmaster
Diffstat (limited to 'src/Analysis')
-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