| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Functor.Polynomial
Documentation
data Poly (tag :: Type -> Type) x where Source #
Uniformly represented polynomial functor.
Given a instance, HasFinitary tagPoly tag is a polynomial functor.
When tag is the inverse images of α :: U -> Type, Poly is isomorphic to:
Poly tag x
= ∑{n :: Type} (tag n, x^n)
= ∑{n :: Type} ∑{u :: U, α(u) == n} x^n
= ∑{u :: U} x^(α(u))Instances
| HasFinitary tag => Foldable (Poly tag) Source # | |
Defined in Data.Functor.Polynomial Methods fold :: Monoid m => Poly tag m -> m # foldMap :: Monoid m => (a -> m) -> Poly tag a -> m # foldMap' :: Monoid m => (a -> m) -> Poly tag a -> m # foldr :: (a -> b -> b) -> b -> Poly tag a -> b # foldr' :: (a -> b -> b) -> b -> Poly tag a -> b # foldl :: (b -> a -> b) -> b -> Poly tag a -> b # foldl' :: (b -> a -> b) -> b -> Poly tag a -> b # foldr1 :: (a -> a -> a) -> Poly tag a -> a # foldl1 :: (a -> a -> a) -> Poly tag a -> a # elem :: Eq a => a -> Poly tag a -> Bool # maximum :: Ord a => Poly tag a -> a # minimum :: Ord a => Poly tag a -> a # | |
| (GEq tag, HasFinitary tag) => Eq1 (Poly tag) Source # | |
| (GCompare tag, HasFinitary tag) => Ord1 (Poly tag) Source # |
|
Defined in Data.Functor.Polynomial | |
| HasFinitary tag => Traversable (Poly tag) Source # | |
| Functor (Poly tag) Source # | |
| Polynomial (Poly tag) Source # | fromPoly = toPoly = id |
| (Eq x, GEq tag, HasFinitary tag) => Eq (Poly tag x) Source # | |
| (Ord x, GCompare tag, HasFinitary tag) => Ord (Poly tag x) Source # |
|
Defined in Data.Functor.Polynomial | |
| type Tag (Poly tag) Source # | |
Defined in Data.Functor.Polynomial.Class | |