summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Simplify.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Simplify.hs b/src/Simplify.hs
index 3e14aaf..0dfa107 100644
--- a/src/Simplify.hs
+++ b/src/Simplify.hs
@@ -60,8 +60,8 @@ simplify' = \case
weakenExpr (WCopy WSink) (snd (simplify' b))
-- beta rules for products
- EFst _ (EPair _ e _) -> simplify' e
- ESnd _ (EPair _ _ e) -> simplify' e
+ EFst _ (EPair _ e e') | not (hasAdds e') -> simplify' e
+ ESnd _ (EPair _ e' e) | not (hasAdds e') -> simplify' e
-- beta rules for coproducts
ECase _ (EInl _ _ e) rhs _ -> simplify' (ELet ext e rhs)