Safe Haskell | None |
---|---|
Language | Haskell2010 |
For compatibility across different versions of the
barbie
package.
Documentation
class FunctorB (b :: (k -> Type ) -> Type ) where Source #
Barbie-types that can be mapped over. Instances of
FunctorB
should
satisfy the following laws:
bmap
id
=id
bmap
f .bmap
g =bmap
(f . g)
There is a default
bmap
implementation for
Generic
types, so
instances can derived automatically.
Nothing
Instances
FunctorB ( Proxy :: (k -> Type ) -> Type ) | |
FunctorB ( Constant x :: (k -> Type ) -> Type ) | |
FunctorB ( Const x :: (k -> Type ) -> Type ) | |
( FunctorB a, FunctorB b) => FunctorB ( Sum a b :: (k -> Type ) -> Type ) | |
( FunctorB a, FunctorB b) => FunctorB ( Product a b :: (k -> Type ) -> Type ) | |
( Functor f, FunctorB b) => FunctorB ( Compose f b :: (k -> Type ) -> Type ) | |
FunctorB ( Var a :: ( Type -> Type ) -> Type ) Source # | |
class FunctorB b => TraversableB (b :: (k -> Type ) -> Type ) where Source #
Barbie-types that can be traversed from left to right. Instances should satisfy the following laws:
t .btraverse
f =btraverse
(t . f) -- naturalitybtraverse
Identity
=Identity
-- identitybtraverse
(Compose
.fmap
g . f) =Compose
.fmap
(btraverse
g) .btraverse
f -- composition
There is a default
btraverse
implementation for
Generic
types, so
instances can derived automatically.
Nothing
btraverse :: Applicative e => ( forall (a :: k). f a -> e (g a)) -> b f -> e (b g) Source #
Instances
TraversableB ( Proxy :: (k -> Type ) -> Type ) | |
Defined in Barbies.Internal.TraversableB |
|
TraversableB ( Constant a :: (k -> Type ) -> Type ) | |
Defined in Barbies.Internal.TraversableB |
|
TraversableB ( Const a :: (k -> Type ) -> Type ) | |
Defined in Barbies.Internal.TraversableB |
|
( TraversableB a, TraversableB b) => TraversableB ( Sum a b :: (k -> Type ) -> Type ) | |
Defined in Barbies.Internal.TraversableB |
|
( TraversableB a, TraversableB b) => TraversableB ( Product a b :: (k -> Type ) -> Type ) | |
Defined in Barbies.Internal.TraversableB |
|
( Traversable f, TraversableB b) => TraversableB ( Compose f b :: (k -> Type ) -> Type ) | |
Defined in Barbies.Internal.TraversableB |
|
TraversableB ( Var a :: ( Type -> Type ) -> Type ) Source # | |
Defined in Hedgehog.Internal.State |
newtype Rec p a (x :: k) Source #
Instances
GConstraints n (c :: k1 -> Constraint ) (f :: k2) ( Rec a' a :: Type -> Type ) ( Rec b' b :: k3 -> Type ) ( Rec b' b :: k3 -> Type ) | |
GConstraints n (c :: k1 -> Constraint ) (f :: k1 -> Type ) ( Rec (P n ( X :: k1 -> Type ) a') ( X a) :: Type -> Type ) ( Rec (P n f a') (f a) :: k2 -> Type ) ( Rec (P n ( Product ( Dict c) f) a') ( Product ( Dict c) f a) :: k2 -> Type ) | |
type GAll n (c :: k -> Constraint ) ( Rec l r :: Type -> Type ) | |
Defined in Barbies.Generics.Constraints |