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/CHAD | |
parent | a3ba3bdc5c2f9606a0b98cdf53183841cca07eac (diff) |
Pass around an accumMap (but it's empty still)
Diffstat (limited to 'src/CHAD')
-rw-r--r-- | src/CHAD/Top.hs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/CHAD/Top.hs b/src/CHAD/Top.hs index d058132..ced7550 100644 --- a/src/CHAD/Top.hs +++ b/src/CHAD/Top.hs @@ -10,6 +10,7 @@ {-# LANGUAGE TypeOperators #-} module CHAD.Top where +import Analysis.Identity import AST import AST.Weaken.Auto import CHAD @@ -17,6 +18,7 @@ import CHAD.Accum import CHAD.EnvDescr import CHAD.Types import Data +import qualified Data.VarMap as VarMap type family MergeEnv env where @@ -85,7 +87,7 @@ chad config env (term :: Ex env t) &. #tl (d1e env)) (#d :++: #acenv :++: #tl) (#acenv :++: #d :++: #tl)) $ - freezeRet descr (drev descr term)) $ + freezeRet descr (drev descr VarMap.empty (identityAnalysis env term))) $ EPair ext (EFst ext (EFst ext (EVar ext tvar IZ))) (reassembleD2E descr (EPair ext (ESnd ext (EVar ext tvar IZ)) (ESnd ext (EFst ext (EVar ext tvar IZ))))) @@ -93,7 +95,7 @@ chad config env (term :: Ex env t) | False <- chcArgArrayAccum config , Refl <- mergeEnvNoAccum env , Refl <- mergeEnvOnlyMerge env - = let ?config = config in freezeRet (mergeDescr env) (drev (mergeDescr env) term) + = let ?config = config in freezeRet (mergeDescr env) (drev (mergeDescr env) VarMap.empty (identityAnalysis env term)) chad' :: CHADConfig -> SList STy env -> Ex env t -> Ex (D2 t : env) (TPair t (Tup (D2E env))) chad' config env term |