diff options
Diffstat (limited to 'src/Simplify.hs')
-rw-r--r-- | src/Simplify.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Simplify.hs b/src/Simplify.hs index 0132f85..2177789 100644 --- a/src/Simplify.hs +++ b/src/Simplify.hs @@ -105,12 +105,12 @@ simplify' = \case EIdx1 _ (ELet _ rhs body) e -> acted $ simplify' (ELet ext rhs (EIdx1 ext body (weakenExpr WSink e))) -- projection down-commuting - EFst _ (ECase _ e1 (EPair _ e2 _) (EPair _ e3 _)) -> + EFst _ (ECase _ e1 e2@EPair{} e3@EPair{}) -> acted $ simplify' $ - ECase ext e1 e2 e3 - ESnd _ (ECase _ e1 (EPair _ _ e2) (EPair _ _ e3)) -> + ECase ext e1 (EFst ext e2) (EFst ext e3) + ESnd _ (ECase _ e1 e2@EPair{} e3@EPair{}) -> acted $ simplify' $ - ECase ext e1 e2 e3 + ECase ext e1 (ESnd ext e2) (ESnd ext e3) -- TODO: array indexing (index of build, index of fold) |