| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Functor.Polynomial.Finitary
Documentation
data Ev (p :: P) x where Source #
Constructors
| End :: forall x. Ev 'U x | |
| Stop :: forall (p1 :: P) x. Ev ('S p1) x | |
| Go :: forall (p1 :: P) x. Ev p1 x -> Ev ('S p1) x | |
| (:::) :: forall x (p1 :: P). x -> Ev p1 x -> Ev ('T p1) x infixr 7 |
Instances
| SingI p => FinitaryPolynomial (Ev p) Source # | |||||
Defined in Data.Functor.Polynomial.Finitary.Class Associated Types
| |||||
| Functor (Ev p) Source # | |||||
| Foldable (Ev p) Source # | |||||
Defined in Data.Functor.Polynomial.Finitary Methods fold :: Monoid m => Ev p m -> m # foldMap :: Monoid m => (a -> m) -> Ev p a -> m # foldMap' :: Monoid m => (a -> m) -> Ev p a -> m # foldr :: (a -> b -> b) -> b -> Ev p a -> b # foldr' :: (a -> b -> b) -> b -> Ev p a -> b # foldl :: (b -> a -> b) -> b -> Ev p a -> b # foldl' :: (b -> a -> b) -> b -> Ev p a -> b # foldr1 :: (a -> a -> a) -> Ev p a -> a # foldl1 :: (a -> a -> a) -> Ev p a -> a # elem :: Eq a => a -> Ev p a -> Bool # maximum :: Ord a => Ev p a -> a # | |||||
| Traversable (Ev p) Source # | |||||
| Polynomial (Ev p) Source # | |||||
Defined in Data.Functor.Polynomial.Finitary Associated Types
| |||||
| Show x => Show (Ev p x) Source # | |||||
| Eq x => Eq (Ev p x) Source # | |||||
| Ord x => Ord (Ev p x) Source # | |||||
| type PolyRep (Ev p) Source # | |||||
Defined in Data.Functor.Polynomial.Finitary.Class | |||||
| type Tag (Ev p) Source # | |||||
Defined in Data.Functor.Polynomial.Finitary | |||||
fromSum :: forall (p :: P) (q :: P) x. Sing p -> Sing q -> (Ev p :+: Ev q) x -> Ev (p + q) x Source #
toProduct :: forall (p :: P) (q :: P) x. Sing p -> Sing q -> Ev (p * q) x -> (Ev p :*: Ev q) x Source #