Safe Haskell | None |
---|---|
Language | Haskell2010 |
Camfort.Helpers.TypeLevel
Synopsis
- data Some f where
- data PairOf f g a = PairOf (f a) (g a)
- type SomePair f g = Some (PairOf f g)
- pattern SomePair :: f a -> g a -> Some (PairOf f g)
- traverseSome :: Functor m => (forall a. f a -> m (g a)) -> Some f -> m (Some g)
- traversePairOf :: Functor m => (f a -> g a -> m (f' b, g' b)) -> PairOf f g a -> m (PairOf f' g' b)
- mapSome :: (forall a. f a -> g a) -> Some f -> Some g
Documentation
An existential type containing f a
for some type a
.
A pair of functorial values over the same ground type, where the first
value is meant to add constraints rather than real semantic information. The
Pretty1
instance ignores the first value.
Constructors
PairOf (f a) (g a) |
Instances
Pretty1 g => Pretty1 (PairOf f g :: k -> Type) Source # | |
Defined in Camfort.Helpers.TypeLevel | |
(Functor f, Functor g) => Functor (PairOf f g) Source # | |
(Foldable f, Foldable g) => Foldable (PairOf f g) Source # | |
Defined in Camfort.Helpers.TypeLevel Methods fold :: Monoid m => PairOf f g m -> m # foldMap :: Monoid m => (a -> m) -> PairOf f g a -> m # foldMap' :: Monoid m => (a -> m) -> PairOf f g a -> m # foldr :: (a -> b -> b) -> b -> PairOf f g a -> b # foldr' :: (a -> b -> b) -> b -> PairOf f g a -> b # foldl :: (b -> a -> b) -> b -> PairOf f g a -> b # foldl' :: (b -> a -> b) -> b -> PairOf f g a -> b # foldr1 :: (a -> a -> a) -> PairOf f g a -> a # foldl1 :: (a -> a -> a) -> PairOf f g a -> a # toList :: PairOf f g a -> [a] # null :: PairOf f g a -> Bool # length :: PairOf f g a -> Int # elem :: Eq a => a -> PairOf f g a -> Bool # maximum :: Ord a => PairOf f g a -> a # minimum :: Ord a => PairOf f g a -> a # | |
(Traversable f, Traversable g) => Traversable (PairOf f g) Source # | |
Defined in Camfort.Helpers.TypeLevel | |
(Eq (f a), Eq (g a)) => Eq (PairOf f g a) Source # | |
(Ord (f a), Ord (g a)) => Ord (PairOf f g a) Source # | |
Defined in Camfort.Helpers.TypeLevel | |
(Show (f a), Show (g a)) => Show (PairOf f g a) Source # | |