diff options
Diffstat (limited to 'src/Simplify.hs')
-rw-r--r-- | src/Simplify.hs | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/Simplify.hs b/src/Simplify.hs index c44d965..1640729 100644 --- a/src/Simplify.hs +++ b/src/Simplify.hs @@ -77,11 +77,13 @@ simplify' = \case EInl _ t e -> EInl ext t (simplify' e) EInr _ t e -> EInr ext t (simplify' e) ECase _ e a b -> ECase ext (simplify' e) (simplify' a) (simplify' b) + EConstArr _ n t v -> EConstArr ext n t v EBuild1 _ a b -> EBuild1 ext (simplify' a) (simplify' b) EBuild _ n a b -> EBuild ext n (simplify' a) (simplify' b) - EFold1 _ a b -> EFold1 ext (simplify' a) (simplify' b) + EFold1Inner _ a b -> EFold1Inner ext (simplify' a) (simplify' b) + ESum1Inner _ e -> ESum1Inner ext (simplify' e) EUnit _ e -> EUnit ext (simplify' e) - -- EReplicate _ e -> EReplicate ext (simplify' e) + EReplicate1Inner _ a b -> EReplicate1Inner ext (simplify' a) (simplify' b) EConst _ t v -> EConst ext t v EIdx0 _ e -> EIdx0 ext (simplify' e) EIdx1 _ a b -> EIdx1 ext (simplify' a) (simplify' b) @@ -112,11 +114,13 @@ hasAdds = \case EInl _ _ e -> hasAdds e EInr _ _ e -> hasAdds e ECase _ e a b -> hasAdds e || hasAdds a || hasAdds b + EConstArr _ _ _ _ -> False EBuild1 _ a b -> hasAdds a || hasAdds b EBuild _ _ a b -> hasAdds a || hasAdds b - EFold1 _ a b -> hasAdds a || hasAdds b + EFold1Inner _ a b -> hasAdds a || hasAdds b + ESum1Inner _ e -> hasAdds e EUnit _ e -> hasAdds e - -- EReplicate _ e -> hasAdds e + EReplicate1Inner _ a b -> hasAdds a || hasAdds b EConst _ _ _ -> False EIdx0 _ e -> hasAdds e EIdx1 _ a b -> hasAdds a || hasAdds b |