HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulecontainers-0.7Haskell2010

Data.Map.Internal.Debug

  • 13 values
  • Packagecontainers-0.7
  • Exports13
  • LanguageHaskell2010
  • LicenceBSD-3-Clause
  • SourceDebug.hs
valueshowTreeWith :: (k -> a -> String) -> Bool -> Bool -> Map k a -> String
#

O(n \log n). The expression (showTreeWith showelem hang wide map) shows the tree that implements the map. Elements are shown using the showElem function. If hang is True, a hanging tree is shown otherwise a rotated tree is shown. If wide is True, an extra wide version is shown.

 Map> let t = fromDistinctAscList [(x,()) | x <- [1..5]]
 Map> putStrLn $ showTreeWith (\k x -> show (k,x)) True False t
 (4,())
 +--(2,())
 |  +--(1,())
 |  +--(3,())
 +--(5,())

 Map> putStrLn $ showTreeWith (\k x -> show (k,x)) True True t
 (4,())
 |
 +--(2,())
 |  |
 |  +--(1,())
 |  |
 |  +--(3,())
 |
 +--(5,())

 Map> putStrLn $ showTreeWith (\k x -> show (k,x)) False True t
 +--(5,())
 |
 (4,())
 |
 |  +--(3,())
 |  |
 +--(2,())
    |
    +--(1,())
valuevalid :: Ord k => Map k a -> Bool
#

O(n). Test if the internal map structure is valid.

valid (fromAscList [(3,"b"), (5,"a")]) == True
valid (fromAscList [(5,"a"), (3,"b")]) == False
valuebalanced :: Map k a -> Bool
#

Test if a map obeys the balance invariants.

valuevalidsize :: Map a b -> Bool
#

Test if each node of a map reports its size correctly.