A Cache effect for the effectful ecosystem.
This library exposes the following elements:
Cache— The type-level effect that you can declare in your type signatures.
populateIntCache :: (Cache Int Int :> es) => Eff es () insert,lookup,keys,delete,filterWithKey– Operations onCache. They should always be used with Type Applications when using literals:
insertAndLookup :: (Cache Int Int :> es) => Eff es (Maybe Int) insertAndLookup = do insert @Int @Int 3 12 lookup @Int 3 listKeys :: (Cache Int Int :> es) => Eff es [Int] listKeys = do populateIntCache keys @Int @Int- An IO Runner
runCacheIO (cache :: Data.Cache Int Int) See the tests to see an example use.