summaryrefslogtreecommitdiff
path: root/src/CHAD
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-03-28 22:40:41 +0100
committerTom Smeding <tom@tomsmeding.com>2025-03-28 22:40:41 +0100
commitc06b4bd71a94601d467b509a26c08020d1fbd794 (patch)
treeb16981c769231ef4af2c3ec5f002a01f857d95c6 /src/CHAD
parenta3ba3bdc5c2f9606a0b98cdf53183841cca07eac (diff)
Pass around an accumMap (but it's empty still)
Diffstat (limited to 'src/CHAD')
-rw-r--r--src/CHAD/Top.hs6
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