diff options
Diffstat (limited to 'src/Simplify.hs')
-rw-r--r-- | src/Simplify.hs | 6 |
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 |