diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-06-21 09:57:45 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-06-21 09:57:45 +0200 |
commit | b5ed3d2fcc249cb410b9e86d25e9ef808c6dba97 (patch) | |
tree | 66383b16d5d95f939aaa165a783dbbfd99a57fe3 /src/Language | |
parent | 8bbc2d2867e3d0a4a1f2810b40e92175779822e1 (diff) | |
parent | a4b3eb76acbec30ffeae119a4dc6e4c9f64396fe (diff) |
Merge branch 'sparse'
Diffstat (limited to 'src/Language')
-rw-r--r-- | src/Language/AST.hs | 5 |
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 |