summaryrefslogtreecommitdiff
path: root/src/AST/UnMonoid.hs
diff options
context:
space:
mode:
authorTom Smeding <t.j.smeding@uu.nl>2025-01-27 15:08:02 +0100
committerTom Smeding <t.j.smeding@uu.nl>2025-01-27 15:08:02 +0100
commit88fae8c2914b805a733b71de58ab672124e6069c (patch)
treec155fb1a83ace92aab376202ebc8b4b8a919da7c /src/AST/UnMonoid.hs
parent0bdc36d221703e5a2347d3d136d676a86bdb1b6a (diff)
Add ext field to remaining AST constructors
Diffstat (limited to 'src/AST/UnMonoid.hs')
-rw-r--r--src/AST/UnMonoid.hs26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/AST/UnMonoid.hs b/src/AST/UnMonoid.hs
index 8da1e32..c87bed1 100644
--- a/src/AST/UnMonoid.hs
+++ b/src/AST/UnMonoid.hs
@@ -11,9 +11,9 @@ import Data
unMonoid :: Ex env t -> Ex env t
unMonoid = \case
- EZero t -> zero t
- EPlus t a b -> plus t a b
- EOneHot t i a b -> onehot t i a b
+ EZero _ t -> zero t
+ EPlus _ t a b -> plus t a b
+ EOneHot _ t i a b -> onehot t i a b
EVar _ t i -> EVar ext t i
ELet _ rhs body -> ELet ext (unMonoid rhs) (unMonoid body)
@@ -42,9 +42,9 @@ unMonoid = \case
EShape _ e -> EShape ext (unMonoid e)
EOp _ op e -> EOp ext op (unMonoid e)
ECustom _ t1 t2 t3 a b c e1 e2 -> ECustom ext t1 t2 t3 (unMonoid a) (unMonoid b) (unMonoid c) (unMonoid e1) (unMonoid e2)
- EWith a b -> EWith (unMonoid a) (unMonoid b)
- EAccum n a b e -> EAccum n (unMonoid a) (unMonoid b) (unMonoid e)
- EError t s -> EError t s
+ EWith _ a b -> EWith ext (unMonoid a) (unMonoid b)
+ EAccum _ n a b e -> EAccum ext n (unMonoid a) (unMonoid b) (unMonoid e)
+ EError _ t s -> EError ext t s
zero :: STy t -> Ex env (D2 t)
zero STNil = ENil ext
@@ -52,7 +52,7 @@ zero (STPair t1 t2) = ENothing ext (STPair (d2 t1) (d2 t2))
zero (STEither t1 t2) = ENothing ext (STEither (d2 t1) (d2 t2))
zero (STMaybe t) = ENothing ext (d2 t)
zero (STArr SZ t) = EUnit ext (zero t)
-zero (STArr n t) = EBuild ext n (eTup (sreplicate n (EConst ext STI64 0))) (EError (d2 t) "empty")
+zero (STArr n t) = EBuild ext n (eTup (sreplicate n (EConst ext STI64 0))) (EError ext (d2 t) "empty")
zero (STScal t) = case t of
STI32 -> ENil ext
STI64 -> ENil ext
@@ -76,9 +76,9 @@ plus (STEither t1 t2) a b =
ECase ext (EVar ext t (IS IZ))
(ECase ext (EVar ext t (IS IZ))
(EInl ext (d2 t2) (plus t1 (EVar ext (d2 t1) (IS IZ)) (EVar ext (d2 t1) IZ)))
- (EError t "plus l+r"))
+ (EError ext t "plus l+r"))
(ECase ext (EVar ext t (IS IZ))
- (EError t "plus r+l")
+ (EError ext t "plus r+l")
(EInr ext (d2 t1) (plus t2 (EVar ext (d2 t2) (IS IZ)) (EVar ext (d2 t2) IZ))))
plus (STMaybe t) a b =
plusSparse (d2 t) a b $
@@ -130,9 +130,9 @@ onehot t (SS dep) idx val = case t of
(ECase ext (weakenExpr WSink val)
(EPair ext (onehot t1 dep' (EVar ext tidx1 (IS IZ)) (EVar ext tval1 IZ))
(zero t2))
- (EError (STPair (d2 t1) (d2 t2)) "onehot pair l/r"))
+ (EError ext (STPair (d2 t1) (d2 t2)) "onehot pair l/r"))
(ECase ext (weakenExpr WSink val)
- (EError (STPair (d2 t1) (d2 t2)) "onehot pair r/l")
+ (EError ext (STPair (d2 t1) (d2 t2)) "onehot pair r/l")
(EPair ext (zero t1)
(onehot t2 dep' (EVar ext tidx2 (IS IZ)) (EVar ext tval2 IZ))))
@@ -146,9 +146,9 @@ onehot t (SS dep) idx val = case t of
ECase ext idx
(ECase ext (weakenExpr WSink val)
(EInl ext (d2 t2) (onehot t1 dep' (EVar ext tidx1 (IS IZ)) (EVar ext tval1 IZ)))
- (EError (STEither (d2 t1) (d2 t2)) "onehot either l/r"))
+ (EError ext (STEither (d2 t1) (d2 t2)) "onehot either l/r"))
(ECase ext (weakenExpr WSink val)
- (EError (STEither (d2 t1) (d2 t2)) "onehot either r/l")
+ (EError ext (STEither (d2 t1) (d2 t2)) "onehot either r/l")
(EInr ext (d2 t1) (onehot t2 dep' (EVar ext tidx2 (IS IZ)) (EVar ext tval2 IZ))))
STMaybe t1 -> EJust ext (onehot t1 dep idx val)