From 9b7c3eea7e34f5eb0d91f93b803e853028c2cec8 Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Sat, 22 Nov 2025 22:41:09 +0100 Subject: WIP: Think about fusion --- src/CHAD/Analysis/Identity.hs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/CHAD/Analysis/Identity.hs') 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 -- cgit v1.2.3-70-g09d2