summaryrefslogtreecommitdiff
path: root/src/Simplify.hs
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2024-09-04 15:24:30 +0200
committerTom Smeding <tom@tomsmeding.com>2024-09-04 15:24:30 +0200
commit5ffb110bb5382b31c1acd3910b2064b36eeb2f77 (patch)
tree1a137473b49d23d59626db4758bb81b255e4ff69 /src/Simplify.hs
parentdd732135b43db05c6687cfbb73a4e33cf022289d (diff)
WIP
Diffstat (limited to 'src/Simplify.hs')
-rw-r--r--src/Simplify.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/Simplify.hs b/src/Simplify.hs
index f2fc54a..698c667 100644
--- a/src/Simplify.hs
+++ b/src/Simplify.hs
@@ -71,9 +71,10 @@ simplify' = \case
EInr _ t e -> EInr ext t (simplify' e)
ECase _ e a b -> ECase ext (simplify' e) (simplify' a) (simplify' b)
EBuild1 _ a b -> EBuild1 ext (simplify' a) (simplify' b)
- EBuild _ es e -> EBuild ext (fmap simplify' es) (simplify' e)
+ EBuild _ n a b -> EBuild ext n (simplify' a) (simplify' b)
EFold1 _ a b -> EFold1 ext (simplify' a) (simplify' b)
EUnit _ e -> EUnit ext (simplify' e)
+ EReplicate _ e -> EReplicate ext (simplify' e)
EConst _ t v -> EConst ext t v
EIdx0 _ e -> EIdx0 ext (simplify' e)
EIdx1 _ a b -> EIdx1 ext (simplify' a) (simplify' b)
@@ -104,9 +105,10 @@ hasAdds = \case
EInr _ _ e -> hasAdds e
ECase _ e a b -> hasAdds e || hasAdds a || hasAdds b
EBuild1 _ a b -> hasAdds a || hasAdds b
- EBuild _ es e -> getAny (foldMap (Any . hasAdds) es) || hasAdds e
+ EBuild _ _ a b -> hasAdds a || hasAdds b
EFold1 _ a b -> hasAdds a || hasAdds b
EUnit _ e -> hasAdds e
+ EReplicate _ e -> hasAdds e
EConst _ _ _ -> False
EIdx0 _ e -> hasAdds e
EIdx1 _ a b -> hasAdds a || hasAdds b