aboutsummaryrefslogtreecommitdiff
path: root/src/Language
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2025-06-21 09:57:45 +0200
committerTom Smeding <tom@tomsmeding.com>2025-06-21 09:57:45 +0200
commitb5ed3d2fcc249cb410b9e86d25e9ef808c6dba97 (patch)
tree66383b16d5d95f939aaa165a783dbbfd99a57fe3 /src/Language
parent8bbc2d2867e3d0a4a1f2810b40e92175779822e1 (diff)
parenta4b3eb76acbec30ffeae119a4dc6e4c9f64396fe (diff)
Merge branch 'sparse'
Diffstat (limited to 'src/Language')
-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 7e074df..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 (AcIdx 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