barbies-1.1.2.1: Classes for working with types that can change clothes.

Safe HaskellNone
LanguageHaskell2010

Data.Barbie.Container

Description

We get a container of a's for any Barbie-type when we make it wear a (Const a) . The Container wrapper gives us the expected instances for a container type.

Synopsis

Documentation

newtype Container b a Source #

Wrapper for container-Barbies.

Constructors

Container 

Fields

Instances
FunctorB b => Functor (Container b) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

fmap :: (a -> b0) -> Container b a -> Container b b0 #

(<$) :: a -> Container b b0 -> Container b a #

ProductB b => Applicative (Container b) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

pure :: a -> Container b a #

(<*>) :: Container b (a -> b0) -> Container b a -> Container b b0 #

liftA2 :: (a -> b0 -> c) -> Container b a -> Container b b0 -> Container b c #

(*>) :: Container b a -> Container b b0 -> Container b b0 #

(<*) :: Container b a -> Container b b0 -> Container b a #

TraversableB b => Foldable (Container b) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

fold :: Monoid m => Container b m -> m #

foldMap :: Monoid m => (a -> m) -> Container b a -> m #

foldr :: (a -> b0 -> b0) -> b0 -> Container b a -> b0 #

foldr' :: (a -> b0 -> b0) -> b0 -> Container b a -> b0 #

foldl :: (b0 -> a -> b0) -> b0 -> Container b a -> b0 #

foldl' :: (b0 -> a -> b0) -> b0 -> Container b a -> b0 #

foldr1 :: (a -> a -> a) -> Container b a -> a #

foldl1 :: (a -> a -> a) -> Container b a -> a #

toList :: Container b a -> [a] #

null :: Container b a -> Bool #

length :: Container b a -> Int #

elem :: Eq a => a -> Container b a -> Bool #

maximum :: Ord a => Container b a -> a #

minimum :: Ord a => Container b a -> a #

sum :: Num a => Container b a -> a #

product :: Num a => Container b a -> a #

TraversableB b => Traversable (Container b) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

traverse :: Applicative f => (a -> f b0) -> Container b a -> f (Container b b0) #

sequenceA :: Applicative f => Container b (f a) -> f (Container b a) #

mapM :: Monad m => (a -> m b0) -> Container b a -> m (Container b b0) #

sequence :: Monad m => Container b (m a) -> m (Container b a) #

Eq (b (Const a :: Type -> Type)) => Eq (Container b a) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

(==) :: Container b a -> Container b a -> Bool #

(/=) :: Container b a -> Container b a -> Bool #

Ord (b (Const a :: Type -> Type)) => Ord (Container b a) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

compare :: Container b a -> Container b a -> Ordering #

(<) :: Container b a -> Container b a -> Bool #

(<=) :: Container b a -> Container b a -> Bool #

(>) :: Container b a -> Container b a -> Bool #

(>=) :: Container b a -> Container b a -> Bool #

max :: Container b a -> Container b a -> Container b a #

min :: Container b a -> Container b a -> Container b a #

Read (b (Const a :: Type -> Type)) => Read (Container b a) Source # 
Instance details

Defined in Data.Barbie.Container

Show (b (Const a :: Type -> Type)) => Show (Container b a) Source # 
Instance details

Defined in Data.Barbie.Container

Methods

showsPrec :: Int -> Container b a -> ShowS #

show :: Container b a -> String #

showList :: [Container b a] -> ShowS #

Generic (Container b a) Source # 
Instance details

Defined in Data.Barbie.Container

Associated Types

type Rep (Container b a) :: Type -> Type #

Methods

from :: Container b a -> Rep (Container b a) x #

to :: Rep (Container b a) x -> Container b a #

type Rep (Container b a) Source # 
Instance details

Defined in Data.Barbie.Container

type Rep (Container b a) = D1 (MetaData "Container" "Data.Barbie.Container" "barbies-1.1.2.1-BjArWpgTHhXJKxtji9Y6aT" True) (C1 (MetaCons "Container" PrefixI True) (S1 (MetaSel (Just "getContainer") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (b (Const a :: Type -> Type)))))