summaryrefslogtreecommitdiff
path: root/src/Language/AST.hs
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-06-18 00:00:11 +0200
committerTom Smeding <tom@tomsmeding.com>2025-06-18 00:00:11 +0200
commitd1b2e2c3a3cdaf49ff5e4bae6fe9b0612c3779c2 (patch)
tree38577e02839ac18244aa46b833da8957cbe9789e /src/Language/AST.hs
parent2b1a40b5933b8b0dceaae744e5b70cb604822c9d (diff)
Tests pass, should check if output is sensible
Diffstat (limited to 'src/Language/AST.hs')
-rw-r--r--src/Language/AST.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/Language/AST.hs b/src/Language/AST.hs
index 92792b3..be98ccf 100644
--- a/src/Language/AST.hs
+++ b/src/Language/AST.hs
@@ -21,6 +21,7 @@ import GHC.TypeLits (Symbol, SSymbol, symbolSing, KnownSymbol, TypeError, ErrorM
import Array
import AST
+import AST.Sparse.Types
import CHAD.Types
import Data
@@ -76,7 +77,7 @@ data NExpr env t where
-- accumulation effect on monoids
NEWith :: SMTy t -> NExpr env t -> Var name (TAccum t) -> NExpr ('(name, TAccum t) : env) a -> NExpr env (TPair a t)
- NEAccum :: SMTy t -> SAcPrj p t a -> NExpr env (AcIdxD p t) -> NExpr env a -> NExpr env (TAccum t) -> NExpr env TNil
+ NEAccum :: SMTy t -> SAcPrj p t a -> NExpr env (AcIdxD p t) -> Sparse a b -> NExpr env b -> NExpr env (TAccum t) -> NExpr env TNil
-- partiality
NEError :: STy a -> String -> NExpr env a
@@ -221,7 +222,7 @@ fromNamedExpr val = \case
NERecompute e -> ERecompute ext (go e)
NEWith t a n b -> EWith ext t (go a) (lambda val n b)
- NEAccum t p a b c -> EAccum ext t p (go a) (go b) (go c)
+ NEAccum t p a sp b c -> EAccum ext t p (go a) sp (go b) (go c)
NEError t s -> EError ext t s