Safe Haskell  Safe 

Language  Haskell2010 
Synopsis
 data Meep k a
 empty :: Meep k a
 singleton :: k > a > Meep k a
 size :: Num b => Meep k a > b
 null :: Meep k a > Bool
 fromMaybe :: Maybe (k, a) > Meep k a
 toMaybe :: Meep k a > Maybe (k, a)
 maybeing :: Iso (Meep k v) (Meep k' v') (Maybe (k, v)) (Maybe (k', v'))
 intersection :: Eq k => Meep k a > Meep k b > Meep k a
 intersectionWith :: Eq k => (a > b > c) > Meep k a > Meep k b > Meep k c
 intersectionWithKey :: Eq k => (k > a > b > c) > Meep k a > Meep k b > Meep k c
 keys :: Meep k a > Maybe k
 elems :: Meep k a > Maybe a
Documentation
A Meep from key k
to value a
Instances
Bitraversable Meep Source #  
Defined in Data.Meep bitraverse :: Applicative f => (a > f c) > (b > f d) > Meep a b > f (Meep c d) #  
Bifoldable Meep Source #  
Bifunctor Meep Source #  
Biapply Meep Source #  
FunctorWithIndex k (Meep k) Source #  
FoldableWithIndex k (Meep k) Source #  
Defined in Data.Meep ifoldMap :: Monoid m => (k > a > m) > Meep k a > m # ifolded :: (Indexable k p, Contravariant f, Applicative f) => p a (f a) > Meep k a > f (Meep k a) # ifoldr :: (k > a > b > b) > b > Meep k a > b # ifoldl :: (k > b > a > b) > b > Meep k a > b #  
TraversableWithIndex k (Meep k) Source #  
Defined in Data.Meep itraverse :: Applicative f => (k > a > f b) > Meep k a > f (Meep k b) # itraversed :: (Indexable k p, Applicative f) => p a (f b) > Meep k a > f (Meep k b) #  
Functor (Meep k) Source #  
Foldable (Meep k) Source #  
Defined in Data.Meep fold :: Monoid m => Meep k m > m # foldMap :: Monoid m => (a > m) > Meep k a > m # foldr :: (a > b > b) > b > Meep k a > b # foldr' :: (a > b > b) > b > Meep k a > b # foldl :: (b > a > b) > b > Meep k a > b # foldl' :: (b > a > b) > b > Meep k a > b # foldr1 :: (a > a > a) > Meep k a > a # foldl1 :: (a > a > a) > Meep k a > a # elem :: Eq a => a > Meep k a > Bool # maximum :: Ord a => Meep k a > a # minimum :: Ord a => Meep k a > a #  
Traversable (Meep k) Source #  
Eq k => Apply (Meep k) Source #  
(Eq k, Eq a) => Eq (Meep k a) Source #  
(Data k, Data a) => Data (Meep k a) Source #  
Defined in Data.Meep gfoldl :: (forall d b. Data d => c (d > b) > d > c b) > (forall g. g > c g) > Meep k a > c (Meep k a) # gunfold :: (forall b r. Data b => c (b > r) > c r) > (forall r. r > c r) > Constr > c (Meep k a) # toConstr :: Meep k a > Constr # dataTypeOf :: Meep k a > DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) > Maybe (c (Meep k a)) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) > Maybe (c (Meep k a)) # gmapT :: (forall b. Data b => b > b) > Meep k a > Meep k a # gmapQl :: (r > r' > r) > r > (forall d. Data d => d > r') > Meep k a > r # gmapQr :: (r' > r > r) > r > (forall d. Data d => d > r') > Meep k a > r # gmapQ :: (forall d. Data d => d > u) > Meep k a > [u] # gmapQi :: Int > (forall d. Data d => d > u) > Meep k a > u # gmapM :: Monad m => (forall d. Data d => d > m d) > Meep k a > m (Meep k a) # gmapMp :: MonadPlus m => (forall d. Data d => d > m d) > Meep k a > m (Meep k a) # gmapMo :: MonadPlus m => (forall d. Data d => d > m d) > Meep k a > m (Meep k a) #  
(Ord k, Ord a) => Ord (Meep k a) Source #  
(Show k, Show a) => Show (Meep k a) Source #  
Generic (Meep k a) Source #  
(Eq k, Semigroup a) => Semigroup (Meep k a) Source # 

Eq k => Ixed (Meep k a) Source #  
Eq k => At (Meep k a) Source #  
AsEmpty (Meep k a) Source #  
type Rep (Meep k a) Source #  
Defined in Data.Meep type Rep (Meep k a) = D1 (MetaData "Meep" "Data.Meep" "meep0.1.2.2APY5BbX8ClaA3Myq1d9LWV" False) (C1 (MetaCons "Empty" PrefixI False) (U1 :: * > *) :+: C1 (MetaCons "Meep" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 k) :*: S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 a)))  
type Index (Meep k a) Source #  
type IxValue (Meep k a) Source #  
intersection :: Eq k => Meep k a > Meep k b > Meep k a Source #
O(1). Intersection of two Meep
s
intersection ≡intersectionWith
const
intersectionWith :: Eq k => (a > b > c) > Meep k a > Meep k b > Meep k c Source #
O(1). Intersection of two Meep
s with a combining function
>>>
intersectionWith (+) (Meep "hello" 4) (Meep "hello" 7)
fromMaybe (Just ("hello",11))
>>>
intersectionWith (+) (Meep "hello" 4) (Meep "bye" 7)
fromMaybe Nothing
>>>
intersectionWith (+) Empty (Meep "hello" 7)
fromMaybe Nothing
intersectionWith f ≡ intersectionWithKey (const f)
intersectionWithKey :: Eq k => (k > a > b > c) > Meep k a > Meep k b > Meep k c Source #
O(1). Intersection of two Meep
s with a combining function