diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-03-28 22:40:41 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-03-28 22:40:41 +0100 |
commit | c06b4bd71a94601d467b509a26c08020d1fbd794 (patch) | |
tree | b16981c769231ef4af2c3ec5f002a01f857d95c6 /src/Analysis/Identity.hs | |
parent | a3ba3bdc5c2f9606a0b98cdf53183841cca07eac (diff) |
Pass around an accumMap (but it's empty still)
Diffstat (limited to 'src/Analysis/Identity.hs')
-rw-r--r-- | src/Analysis/Identity.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/Analysis/Identity.hs b/src/Analysis/Identity.hs index 095d0fa..54f7cd2 100644 --- a/src/Analysis/Identity.hs +++ b/src/Analysis/Identity.hs @@ -3,7 +3,9 @@ {-# LANGUAGE LambdaCase #-} {-# LANGUAGE ScopedTypeVariables #-} module Analysis.Identity ( + ValId(..), identityAnalysis, + identityAnalysis', ) where import Data.Foldable (toList) @@ -50,6 +52,9 @@ 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' env term = snd (runIdGen 0 (idana env term)) + idana :: SList ValId env -> Expr x env t -> IdGen (ValId t, Expr ValId env t) idana env expr = case expr of EVar _ t i -> do |