diff options
| author | Tom Smeding <tom@tomsmeding.com> | 2025-11-22 22:41:09 +0100 |
|---|---|---|
| committer | Tom Smeding <tom@tomsmeding.com> | 2025-11-22 22:41:09 +0100 |
| commit | 9b7c3eea7e34f5eb0d91f93b803e853028c2cec8 (patch) | |
| tree | 25b906bb49218d2743631d0c83e23717012e3b9b /src/CHAD/Analysis/Identity.hs | |
| parent | b4f07c673b7c710f5861bb84e67233c63336c53d (diff) | |
WIP: Think about fusionfusion
Diffstat (limited to 'src/CHAD/Analysis/Identity.hs')
| -rw-r--r-- | src/CHAD/Analysis/Identity.hs | 6 |
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 |
