aboutsummaryrefslogtreecommitdiff
path: root/src/CHAD/Analysis
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-11-22 22:41:09 +0100
committerTom Smeding <tom@tomsmeding.com>2025-11-22 22:41:09 +0100
commit9b7c3eea7e34f5eb0d91f93b803e853028c2cec8 (patch)
tree25b906bb49218d2743631d0c83e23717012e3b9b /src/CHAD/Analysis
parentb4f07c673b7c710f5861bb84e67233c63336c53d (diff)
WIP: Think about fusionfusion
Diffstat (limited to 'src/CHAD/Analysis')
-rw-r--r--src/CHAD/Analysis/Identity.hs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/CHAD/Analysis/Identity.hs b/src/CHAD/Analysis/Identity.hs
index 212cc7d..b637f88 100644
--- a/src/CHAD/Analysis/Identity.hs
+++ b/src/CHAD/Analysis/Identity.hs
@@ -63,15 +63,15 @@ validSplitEither (VIEither (Right v)) = (Nothing, Just v)
validSplitEither (VIEither' v1 v2) = (Just v1, Just v2)
-- | Symbolic partial evaluation.
-identityAnalysis :: SList STy env -> Expr x env t -> Expr ValId env t
+identityAnalysis :: SList STy env -> Expr NoExt x env t -> Expr NoExt ValId env t
identityAnalysis env term = runIdGen 0 $ do
env' <- slistMapA genIds env
snd <$> idana env' term
-identityAnalysis' :: SList ValId env -> Expr x env t -> Expr ValId env t
+identityAnalysis' :: SList ValId env -> Expr NoExt x env t -> Expr NoExt ValId env t
identityAnalysis' env term = snd (runIdGen 0 (idana env term))
-idana :: SList ValId env -> Expr x env t -> IdGen (ValId t, Expr ValId env t)
+idana :: SList ValId env -> Expr NoExt x env t -> IdGen (ValId t, Expr NoExt ValId env t)
idana env expr = case expr of
EVar _ t i -> do
let v = slistIdx env i