module Data.Cache ( Cache(..) ) where import Data.LRUCache class Cache c where {-# MINIMAL (<|), (|>) #-} -- | view value by key (<|) :: (Eq k) => k -> c k v -> (Maybe v, c k v) -- | push a cache item (|>) :: (k, v) -> c k v -> c k v instance Cache LRUCache where (<|) = view (|>) = push