aboutsummaryrefslogtreecommitdiff
path: root/src/AST.hs
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-10-08 21:42:05 +0200
committerTom Smeding <tom@tomsmeding.com>2025-10-08 21:42:05 +0200
commit947ea218c54cd12f64320f6207fc8da83f7a8c43 (patch)
tree8e0c11b69673345e66b092bd792ee3a0b4f101aa /src/AST.hs
parent63f6e894fea21813104337b1c6a2507f59337090 (diff)
Complete occCountX
Diffstat (limited to 'src/AST.hs')
-rw-r--r--src/AST.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/AST.hs b/src/AST.hs
index b8bee1b..a10f1ae 100644
--- a/src/AST.hs
+++ b/src/AST.hs
@@ -82,6 +82,9 @@ data Expr x env t where
-- be backpropagated to; 'a' is the inactive part. The dual field of
-- ECustom does not allow a derivative to be generated for 'a', and hence
-- none is propagated.
+ -- No accumulators are allowed inside a, b and tape. This restriction is
+ -- currently not used very much, so could be relaxed in the future; be sure
+ -- to check this requirement whenever it is necessary for soundness!
ECustom :: x t -> STy a -> STy b -> STy tape
-> Expr x [b, a] t -- ^ regular operation
-> Expr x [D1 b, D1 a] (TPair (D1 t) tape) -- ^ CHAD forward pass