-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A NonEmptyMap Implementation
--   
--   This package intends to allow general use of a NonEmptyMap which is
--   very beneficial as sometimes you want the functionality this provides.
@package nonemptymap
@version 0.0.6.0


-- | <h1>Description</h1>
--   
--   An efficient implementation of non-empty maps from keys to values
--   (dictionaries).
--   
--   Since many function names (but not the type name) clash with
--   <a>Prelude</a> names, this module is usually imported
--   <tt>qualified</tt>, e.g.
--   
--   <pre>
--   import Data.Map.NonEmpty (NonEmptyMap)
--   import qualified Data.Map.NonEmpty as NonEmptyMap
--   </pre>
module Data.Map.NonEmpty

-- | A NonEmptyMap of keys k to values a
data NonEmptyMap k a
NonEmptyMap :: (k, a) -> Map k a -> NonEmptyMap k a
singleton :: (k, a) -> NonEmptyMap k a
fromList :: Ord k => [(k, a)] -> Maybe (NonEmptyMap k a)
fromListWith :: Ord k => (a -> a -> a) -> [(k, a)] -> Maybe (NonEmptyMap k a)
fromListWithKey :: Ord k => (k -> a -> a -> a) -> [(k, a)] -> Maybe (NonEmptyMap k a)
fromNonEmpty :: Ord k => NonEmpty (k, a) -> NonEmptyMap k a
fromNonEmptyWith :: Ord k => (t -> t -> t) -> NonEmpty (k, t) -> NonEmptyMap k t
fromNonEmptyWithKey :: Ord k => (k -> a -> a -> a) -> NonEmpty (k, a) -> NonEmptyMap k a
insert :: Ord k => k -> a -> NonEmptyMap k a -> NonEmptyMap k a
insertWith :: Ord k => (a -> a -> a) -> k -> a -> NonEmptyMap k a -> NonEmptyMap k a
insertWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> NonEmptyMap k a -> NonEmptyMap k a
insertLookupWithKey :: Ord k => (k -> a -> a -> a) -> k -> a -> NonEmptyMap k a -> (Maybe a, NonEmptyMap k a)
delete :: Ord k => k -> NonEmptyMap k a -> Map k a
adjust :: Ord k => (a -> a) -> k -> NonEmptyMap k a -> NonEmptyMap k a
update :: Ord k => (a -> Maybe a) -> k -> NonEmptyMap k a -> Map k a
alter :: Ord k => (Maybe a -> Maybe a) -> k -> NonEmptyMap k a -> Map k a
alterF :: forall f k a. (Functor f, Ord k) => (Maybe a -> f (Maybe a)) -> k -> NonEmptyMap k a -> f (Map k a)
lookup :: Ord k => k -> NonEmptyMap k a -> Maybe a
(!?) :: Ord k => NonEmptyMap k a -> k -> Maybe a
findWithDefault :: Ord k => a -> k -> NonEmptyMap k a -> a
member :: Ord k => k -> NonEmptyMap k a -> Bool
notMember :: Ord k => k -> NonEmptyMap k a -> Bool
size :: NonEmptyMap k a -> Int
toList :: NonEmptyMap k a -> [(k, a)]
toNonEmpty :: NonEmptyMap k a -> NonEmpty (k, a)
toMap :: Ord k => NonEmptyMap k a -> Map k a
map :: (t -> b) -> NonEmptyMap k t -> NonEmptyMap k b
mapWithKey :: (t -> b) -> NonEmptyMap k t -> NonEmptyMap k b
mapKeys :: Ord k => (t2 -> k) -> NonEmptyMap t2 t1 -> NonEmptyMap k t1
mapKeysWith :: Ord k => (t1 -> t1 -> t1) -> (t2 -> k) -> NonEmptyMap t2 t1 -> NonEmptyMap k t1
instance Data.Functor.Classes.Eq2 Data.Map.NonEmpty.NonEmptyMap
instance GHC.Classes.Eq k => Data.Functor.Classes.Eq1 (Data.Map.NonEmpty.NonEmptyMap k)
instance Data.Functor.Classes.Ord2 Data.Map.NonEmpty.NonEmptyMap
instance GHC.Classes.Ord k => Data.Functor.Classes.Ord1 (Data.Map.NonEmpty.NonEmptyMap k)
instance Data.Functor.Classes.Show2 Data.Map.NonEmpty.NonEmptyMap
instance GHC.Show.Show k => Data.Functor.Classes.Show1 (Data.Map.NonEmpty.NonEmptyMap k)
instance (GHC.Show.Show k, GHC.Show.Show a) => GHC.Show.Show (Data.Map.NonEmpty.NonEmptyMap k a)
instance GHC.Base.Functor (Data.Map.NonEmpty.NonEmptyMap k)
instance Data.Foldable.Foldable (Data.Map.NonEmpty.NonEmptyMap k)
instance Data.Semigroup.Foldable.Class.Foldable1 (Data.Map.NonEmpty.NonEmptyMap k)
