From 7590a93dca6f6b7a68645135ffab2d0b3197e1e3 Mon Sep 17 00:00:00 2001 From: Jan Mas Rovira Date: Tue, 5 Mar 2024 15:07:52 +0100 Subject: [PATCH] simplify Cache --- src/Juvix/Data/Effect/Cache.hs | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/Juvix/Data/Effect/Cache.hs b/src/Juvix/Data/Effect/Cache.hs index 366f9f4bcc..1982aeb358 100644 --- a/src/Juvix/Data/Effect/Cache.hs +++ b/src/Juvix/Data/Effect/Cache.hs @@ -33,16 +33,7 @@ runCache :: HashMap k v -> Sem (Cache k v ': r) a -> Sem r (HashMap k v, a) -runCache f c = reinterpret (runState c) $ \case - CacheLookup k -> gets @(HashMap k v) (^. at k) - CacheGet k -> do - mv <- gets @(HashMap k v) (^. at k) - case mv of - Just v -> return v - Nothing -> do - x :: v <- re f (f k) - modify' @(HashMap k v) (set (at k) (Just x)) - return x +runCache f c = runState c . re f evalCache :: (Hashable k) =>