summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Smeding <tom@tomsmeding.com>2024-11-10 12:30:59 +0100
committerTom Smeding <tom@tomsmeding.com>2024-11-10 12:30:59 +0100
commit9c3f3c4a5f1258c99aefc95944af79dd6da2586c (patch)
tree8553dd6d92df8d4c978f44fc2d29c063ed386da6
parent42d59947356ab51e5a4070b930f02f4909208d35 (diff)
Fix bug in simplifier (effects are hard)
-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)