diff --git a/src/Data/Heap.hs b/src/Data/Heap.hs index 4d920b9..9acd7b9 100644 --- a/src/Data/Heap.hs +++ b/src/Data/Heap.hs @@ -8,6 +8,8 @@ module Data.Heap , hLookupUnsafe , addresses , hSize + , hView + , hViewUnsafe ) where ---------------------------------------------------------------------------------- @@ -67,3 +69,11 @@ addresses (Heap _ m) = M.keys m hSize :: Heap a -> Int hSize (Heap _ m) = M.size m +-- | Intended for use with view patterns +hView :: Heap a -> Addr -> Maybe a +hView = flip hLookup + +-- | Intended for use with view patterns +hViewUnsafe :: Heap a -> Addr -> a +hViewUnsafe = flip hLookupUnsafe +