diff options
author | Tom Smeding <tom@tomsmeding.com> | 2024-11-10 12:30:59 +0100 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2024-11-10 12:30:59 +0100 |
commit | 9c3f3c4a5f1258c99aefc95944af79dd6da2586c (patch) | |
tree | 8553dd6d92df8d4c978f44fc2d29c063ed386da6 | |
parent | 42d59947356ab51e5a4070b930f02f4909208d35 (diff) |
Fix bug in simplifier (effects are hard)
-rw-r--r-- | src/Simplify.hs | 4 |
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) |