diff options
author | Tom Smeding <tom@tomsmeding.com> | 2025-06-18 10:11:12 +0200 |
---|---|---|
committer | Tom Smeding <tom@tomsmeding.com> | 2025-06-18 10:11:12 +0200 |
commit | fe80b31555c27f038b20eb84eb1e747781d7c76b (patch) | |
tree | bd6db261f391459ca638557e74cb101560ee2aab /src/CHAD.hs | |
parent | 58f68a4d077c2d58c3974ad12853207512277a33 (diff) |
Don't destroy effects in sparse plus
Diffstat (limited to 'src/CHAD.hs')
-rw-r--r-- | src/CHAD.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/CHAD.hs b/src/CHAD.hs index 3399de2..9a08457 100644 --- a/src/CHAD.hs +++ b/src/CHAD.hs @@ -404,7 +404,8 @@ subenvPlus :: SBool req1 -> SBool req2 -> (forall e. Ex e (Tup env1) -> Ex e (Tup env2) -> Ex e (Tup env3)) -> r) -> r -subenvPlus _ _ SNil SETop SETop k = k SETop (Inj id) (Inj id) (\_ _ -> ENil ext) +-- don't destroy effects! +subenvPlus _ _ SNil SETop SETop k = k SETop (Inj id) (Inj id) (\a b -> use a $ use b $ ENil ext) subenvPlus req1 req2 (SCons _ env) (SENo sub1) (SENo sub2) k = subenvPlus req1 req2 env sub1 sub2 $ \sub3 s31 s32 pl -> |