ragh!
This commit is contained in:
@@ -5,6 +5,7 @@ module Data.Heap
|
||||
, update
|
||||
, free
|
||||
, hLookup
|
||||
, hLookupUnsafe
|
||||
, addresses
|
||||
, hSize
|
||||
)
|
||||
@@ -55,6 +56,11 @@ free (Heap u m) k = Heap (k:u) (M.delete k m)
|
||||
hLookup :: Addr -> Heap a -> Maybe a
|
||||
hLookup k (Heap _ m) = m !? k
|
||||
|
||||
hLookupUnsafe :: Addr -> Heap a -> a
|
||||
hLookupUnsafe k (Heap _ m) = case m !? k of
|
||||
Just a -> a
|
||||
Nothing -> error "erm... segfault much?"
|
||||
|
||||
addresses :: Heap a -> [Addr]
|
||||
addresses (Heap _ m) = M.keys m
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ module Data.Pretty
|
||||
, ISeq(..)
|
||||
, precPretty
|
||||
, prettyPrint
|
||||
, prettyShow
|
||||
, iBracket
|
||||
, withPrec
|
||||
, bracketPrec
|
||||
@@ -27,6 +28,9 @@ precPretty = flip prettyPrec
|
||||
prettyPrint :: (Pretty a) => a -> IO ()
|
||||
prettyPrint = putStr . squash . pretty
|
||||
|
||||
prettyShow :: (Pretty a) => a -> String
|
||||
prettyShow = squash . pretty
|
||||
|
||||
data ISeq where
|
||||
INil :: ISeq
|
||||
IStr :: String -> ISeq
|
||||
|
||||
Reference in New Issue
Block a user