concat-classes-0.3.0.0: Constrained categories
Safe HaskellSafe-Inferred
LanguageHaskell2010

ConCat.Orphans

Description

Orphan instances to be moved into other libraries

https://github.com/ekmett/pointed/issues/18

Documentation

fstF :: (a :*: b) t -> a t Source #

sndF :: (a :*: b) t -> b t Source #

eitherF :: (a t -> c) -> (b t -> c) -> (a :+: b) t -> c Source #

imap' :: KnownNat n => (Finite n -> a -> b) -> Vector n a -> Vector n b Source #

sumToMaybe :: (() :+ a) -> Maybe a Source #

maybeToSum :: Maybe a -> () :+ a Source #

Orphan instances

Zip Product Source # 
Instance details

Methods

zipWith :: (a -> b -> c) -> Product a -> Product b -> Product c Source #

zip :: Product a -> Product b -> Product (a, b) Source #

zap :: Product (a -> b) -> Product a -> Product b Source #

Zip Sum Source # 
Instance details

Methods

zipWith :: (a -> b -> c) -> Sum a -> Sum b -> Sum c Source #

zip :: Sum a -> Sum b -> Sum (a, b) Source #

zap :: Sum (a -> b) -> Sum a -> Sum b Source #

KnownNat n => Keyed (Vector n) Source # 
Instance details

Methods

mapWithKey :: (Key (Vector n) -> a -> b) -> Vector n a -> Vector n b Source #

Zip (Vector n) Source # 
Instance details

Methods

zipWith :: (a -> b -> c) -> Vector n a -> Vector n b -> Vector n c Source #

zip :: Vector n a -> Vector n b -> Vector n (a, b) Source #

zap :: Vector n (a -> b) -> Vector n a -> Vector n b Source #

Newtype (Par1 t) Source # 
Instance details

Associated Types

type O (Par1 t) Source #

Methods

pack :: O (Par1 t) -> Par1 t Source #

unpack :: Par1 t -> O (Par1 t) Source #

KnownNat n => Pointed (Vector n) Source # 
Instance details

Methods

point :: a -> Vector n a Source #

Pretty a => Pretty (Par1 a) Source # 
Instance details

Pretty (U1 a) Source # 
Instance details

Foldable ((->) Void) Source # 
Instance details

Methods

fold :: Monoid m => (Void -> m) -> m Source #

foldMap :: Monoid m => (a -> m) -> (Void -> a) -> m Source #

foldMap' :: Monoid m => (a -> m) -> (Void -> a) -> m Source #

foldr :: (a -> b -> b) -> b -> (Void -> a) -> b Source #

foldr' :: (a -> b -> b) -> b -> (Void -> a) -> b Source #

foldl :: (b -> a -> b) -> b -> (Void -> a) -> b Source #

foldl' :: (b -> a -> b) -> b -> (Void -> a) -> b Source #

foldr1 :: (a -> a -> a) -> (Void -> a) -> a Source #

foldl1 :: (a -> a -> a) -> (Void -> a) -> a Source #

toList :: (Void -> a) -> [a] Source #

null :: (Void -> a) -> Bool Source #

length :: (Void -> a) -> Int Source #

elem :: Eq a => a -> (Void -> a) -> Bool Source #

maximum :: Ord a => (Void -> a) -> a Source #

minimum :: Ord a => (Void -> a) -> a Source #

sum :: Num a => (Void -> a) -> a Source #

product :: Num a => (Void -> a) -> a Source #

(Foldable ((->) m), Foldable ((->) n)) => Foldable ((->) (m :* n)) Source # 
Instance details

Methods

fold :: Monoid m0 => ((m :* n) -> m0) -> m0 Source #

foldMap :: Monoid m0 => (a -> m0) -> ((m :* n) -> a) -> m0 Source #

foldMap' :: Monoid m0 => (a -> m0) -> ((m :* n) -> a) -> m0 Source #

foldr :: (a -> b -> b) -> b -> ((m :* n) -> a) -> b Source #

foldr' :: (a -> b -> b) -> b -> ((m :* n) -> a) -> b Source #

foldl :: (b -> a -> b) -> b -> ((m :* n) -> a) -> b Source #

foldl' :: (b -> a -> b) -> b -> ((m :* n) -> a) -> b Source #

foldr1 :: (a -> a -> a) -> ((m :* n) -> a) -> a Source #

foldl1 :: (a -> a -> a) -> ((m :* n) -> a) -> a Source #

toList :: ((m :* n) -> a) -> [a] Source #

null :: ((m :* n) -> a) -> Bool Source #

length :: ((m :* n) -> a) -> Int Source #

elem :: Eq a => a -> ((m :* n) -> a) -> Bool Source #

maximum :: Ord a => ((m :* n) -> a) -> a Source #

minimum :: Ord a => ((m :* n) -> a) -> a Source #

sum :: Num a => ((m :* n) -> a) -> a Source #

product :: Num a => ((m :* n) -> a) -> a Source #

(Foldable ((->) m), Foldable ((->) n)) => Foldable ((->) (m :+ n)) Source # 
Instance details

Methods

fold :: Monoid m0 => ((m :+ n) -> m0) -> m0 Source #

foldMap :: Monoid m0 => (a -> m0) -> ((m :+ n) -> a) -> m0 Source #

foldMap' :: Monoid m0 => (a -> m0) -> ((m :+ n) -> a) -> m0 Source #

foldr :: (a -> b -> b) -> b -> ((m :+ n) -> a) -> b Source #

foldr' :: (a -> b -> b) -> b -> ((m :+ n) -> a) -> b Source #

foldl :: (b -> a -> b) -> b -> ((m :+ n) -> a) -> b Source #

foldl' :: (b -> a -> b) -> b -> ((m :+ n) -> a) -> b Source #

foldr1 :: (a -> a -> a) -> ((m :+ n) -> a) -> a Source #

foldl1 :: (a -> a -> a) -> ((m :+ n) -> a) -> a Source #

toList :: ((m :+ n) -> a) -> [a] Source #

null :: ((m :+ n) -> a) -> Bool Source #

length :: ((m :+ n) -> a) -> Int Source #

elem :: Eq a => a -> ((m :+ n) -> a) -> Bool Source #

maximum :: Ord a => ((m :+ n) -> a) -> a Source #

minimum :: Ord a => ((m :+ n) -> a) -> a Source #

sum :: Num a => ((m :+ n) -> a) -> a Source #

product :: Num a => ((m :+ n) -> a) -> a Source #

KnownNat n => Foldable ((->) (Finite n)) Source # 
Instance details

Methods

fold :: Monoid m => (Finite n -> m) -> m Source #

foldMap :: Monoid m => (a -> m) -> (Finite n -> a) -> m Source #

foldMap' :: Monoid m => (a -> m) -> (Finite n -> a) -> m Source #

foldr :: (a -> b -> b) -> b -> (Finite n -> a) -> b Source #

foldr' :: (a -> b -> b) -> b -> (Finite n -> a) -> b Source #

foldl :: (b -> a -> b) -> b -> (Finite n -> a) -> b Source #

foldl' :: (b -> a -> b) -> b -> (Finite n -> a) -> b Source #

foldr1 :: (a -> a -> a) -> (Finite n -> a) -> a Source #

foldl1 :: (a -> a -> a) -> (Finite n -> a) -> a Source #

toList :: (Finite n -> a) -> [a] Source #

null :: (Finite n -> a) -> Bool Source #

length :: (Finite n -> a) -> Int Source #

elem :: Eq a => a -> (Finite n -> a) -> Bool Source #

maximum :: Ord a => (Finite n -> a) -> a Source #

minimum :: Ord a => (Finite n -> a) -> a Source #

sum :: Num a => (Finite n -> a) -> a Source #

product :: Num a => (Finite n -> a) -> a Source #

Foldable ((->) a) => Foldable ((->) (Maybe a)) Source # 
Instance details

Methods

fold :: Monoid m => (Maybe a -> m) -> m Source #

foldMap :: Monoid m => (a0 -> m) -> (Maybe a -> a0) -> m Source #

foldMap' :: Monoid m => (a0 -> m) -> (Maybe a -> a0) -> m Source #

foldr :: (a0 -> b -> b) -> b -> (Maybe a -> a0) -> b Source #

foldr' :: (a0 -> b -> b) -> b -> (Maybe a -> a0) -> b Source #

foldl :: (b -> a0 -> b) -> b -> (Maybe a -> a0) -> b Source #

foldl' :: (b -> a0 -> b) -> b -> (Maybe a -> a0) -> b Source #

foldr1 :: (a0 -> a0 -> a0) -> (Maybe a -> a0) -> a0 Source #

foldl1 :: (a0 -> a0 -> a0) -> (Maybe a -> a0) -> a0 Source #

toList :: (Maybe a -> a0) -> [a0] Source #

null :: (Maybe a -> a0) -> Bool Source #

length :: (Maybe a -> a0) -> Int Source #

elem :: Eq a0 => a0 -> (Maybe a -> a0) -> Bool Source #

maximum :: Ord a0 => (Maybe a -> a0) -> a0 Source #

minimum :: Ord a0 => (Maybe a -> a0) -> a0 Source #

sum :: Num a0 => (Maybe a -> a0) -> a0 Source #

product :: Num a0 => (Maybe a -> a0) -> a0 Source #

Foldable ((->) ()) Source # 
Instance details

Methods

fold :: Monoid m => (() -> m) -> m Source #

foldMap :: Monoid m => (a -> m) -> (() -> a) -> m Source #

foldMap' :: Monoid m => (a -> m) -> (() -> a) -> m Source #

foldr :: (a -> b -> b) -> b -> (() -> a) -> b Source #

foldr' :: (a -> b -> b) -> b -> (() -> a) -> b Source #

foldl :: (b -> a -> b) -> b -> (() -> a) -> b Source #

foldl' :: (b -> a -> b) -> b -> (() -> a) -> b Source #

foldr1 :: (a -> a -> a) -> (() -> a) -> a Source #

foldl1 :: (a -> a -> a) -> (() -> a) -> a Source #

toList :: (() -> a) -> [a] Source #

null :: (() -> a) -> Bool Source #

length :: (() -> a) -> Int Source #

elem :: Eq a => a -> (() -> a) -> Bool Source #

maximum :: Ord a => (() -> a) -> a Source #

minimum :: Ord a => (() -> a) -> a Source #

sum :: Num a => (() -> a) -> a Source #

product :: Num a => (() -> a) -> a Source #

Foldable ((->) Bool) Source # 
Instance details

Methods

fold :: Monoid m => (Bool -> m) -> m Source #

foldMap :: Monoid m => (a -> m) -> (Bool -> a) -> m Source #

foldMap' :: Monoid m => (a -> m) -> (Bool -> a) -> m Source #

foldr :: (a -> b -> b) -> b -> (Bool -> a) -> b Source #

foldr' :: (a -> b -> b) -> b -> (Bool -> a) -> b Source #

foldl :: (b -> a -> b) -> b -> (Bool -> a) -> b Source #

foldl' :: (b -> a -> b) -> b -> (Bool -> a) -> b Source #

foldr1 :: (a -> a -> a) -> (Bool -> a) -> a Source #

foldl1 :: (a -> a -> a) -> (Bool -> a) -> a Source #

toList :: (Bool -> a) -> [a] Source #

null :: (Bool -> a) -> Bool Source #

length :: (Bool -> a) -> Int Source #

elem :: Eq a => a -> (Bool -> a) -> Bool Source #

maximum :: Ord a => (Bool -> a) -> a Source #

minimum :: Ord a => (Bool -> a) -> a Source #

sum :: Num a => (Bool -> a) -> a Source #

product :: Num a => (Bool -> a) -> a Source #

Newtype ((a :*: b) t) Source # 
Instance details

Associated Types

type O ((a :*: b) t) Source #

Methods

pack :: O ((a :*: b) t) -> (a :*: b) t Source #

unpack :: (a :*: b) t -> O ((a :*: b) t) Source #

Newtype ((a :+: b) t) Source # 
Instance details

Associated Types

type O ((a :+: b) t) Source #

Methods

pack :: O ((a :+: b) t) -> (a :+: b) t Source #

unpack :: (a :+: b) t -> O ((a :+: b) t) Source #

(Pretty (f a), Pretty (g a)) => Pretty ((f :*: g) a) Source # 
Instance details

Methods

pPrintPrec :: PrettyLevel -> Rational -> (f :*: g) a -> Doc Source #

pPrint :: (f :*: g) a -> Doc Source #

pPrintList :: PrettyLevel -> [(f :*: g) a] -> Doc Source #

Newtype ((a :.: b) t) Source # 
Instance details

Associated Types

type O ((a :.: b) t) Source #

Methods

pack :: O ((a :.: b) t) -> (a :.: b) t Source #

unpack :: (a :.: b) t -> O ((a :.: b) t) Source #

Pretty (g (f a)) => Pretty ((g :.: f) a) Source # 
Instance details

Methods

pPrintPrec :: PrettyLevel -> Rational -> (g :.: f) a -> Doc Source #

pPrint :: (g :.: f) a -> Doc Source #

pPrintList :: PrettyLevel -> [(g :.: f) a] -> Doc Source #