diff options
author | Tom Smeding <tom@tomsmeding.com> | 2023-09-16 18:03:44 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2023-09-16 18:03:44 +0200 |
commit | 7095bcf4910e2b1525234ca8e88f4effc25315bd (patch) | |
tree | 50ca15ca9d774c739b7320e4b68ef2b600e52ab1 /src/CHAD.hs | |
parent | 35cc10682f35dafba98000bf35191896a6432624 (diff) |
Pretty print
Diffstat (limited to 'src/CHAD.hs')
-rw-r--r-- | src/CHAD.hs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/CHAD.hs b/src/CHAD.hs index 26c918e..d0358b8 100644 --- a/src/CHAD.hs +++ b/src/CHAD.hs @@ -238,6 +238,11 @@ d2op op e d = case op of STF64 -> float STBool -> EInl ext (STPair STNil STNil) (ENil ext) +freezeRet :: Ret env t + -> (forall env'. Ex env' (D2 t)) -- the incoming cotangent value + -> Ex (D1E env) (TPair (D1 t) (TEVM (D2E env) TNil)) +freezeRet (Ret e0 e1 e2) d = letBinds e0 $ EPair ext e1 (ELet ext d e2) + drev :: SList STy env -> Ex env t -> Ret env t drev senv = \case EVar _ t i -> |