Numeric.Algebra.Free.Unital
- class FreeAlgebra r a => FreeUnitalAlgebra r a where
- unit :: r -> a -> r
- class FreeCoalgebra r c => FreeCounitalCoalgebra r c where
- counit :: (c -> r) -> r
Documentation
class FreeAlgebra r a => FreeUnitalAlgebra r a whereSource
An associative unital algebra over a semiring, built using a free module
Instances
| FreeUnitalAlgebra () a | |
| (AdditiveMonoid r, Semiring r) => FreeUnitalAlgebra r (Seq a) | |
| (AdditiveMonoid r, Semiring r) => FreeUnitalAlgebra r [a] | |
| (FreeUnitalAlgebra r a, FreeUnitalAlgebra r b) => FreeUnitalAlgebra r (a, b) | |
| (Semiring r, AdditiveMonoid r, Unital r, DecidableZero n, Partitionable n) => FreeUnitalAlgebra r (:^ x n) | |
| (FreeUnitalAlgebra r a, FreeUnitalAlgebra r b, FreeUnitalAlgebra r c) => FreeUnitalAlgebra r (a, b, c) | |
| (FreeUnitalAlgebra r a, FreeUnitalAlgebra r b, FreeUnitalAlgebra r c, FreeUnitalAlgebra r d) => FreeUnitalAlgebra r (a, b, c, d) | |
| (FreeUnitalAlgebra r a, FreeUnitalAlgebra r b, FreeUnitalAlgebra r c, FreeUnitalAlgebra r d, FreeUnitalAlgebra r e) => FreeUnitalAlgebra r (a, b, c, d, e) | |
| (FreeUnitalAlgebra r a, FreeUnitalAlgebra r b) => FreeUnitalAlgebra (a -> r) b |
class FreeCoalgebra r c => FreeCounitalCoalgebra r c whereSource
Instances
| FreeCounitalCoalgebra () a | |
| Semiring r => FreeCounitalCoalgebra r (Seq a) | |
| Semiring r => FreeCounitalCoalgebra r [a] | |
| (FreeCounitalCoalgebra r a, FreeCounitalCoalgebra r b) => FreeCounitalCoalgebra r (a, b) | |
| (Unital r, FreeUnitalAlgebra r m) => FreeCounitalCoalgebra r (m -> r) | |
| (Semiring r, AdditiveMonoid n) => FreeCounitalCoalgebra r (:^ x n) | |
| (FreeCounitalCoalgebra r a, FreeCounitalCoalgebra r b, FreeCounitalCoalgebra r c) => FreeCounitalCoalgebra r (a, b, c) | |
| (FreeCounitalCoalgebra r a, FreeCounitalCoalgebra r b, FreeCounitalCoalgebra r c, FreeCounitalCoalgebra r d) => FreeCounitalCoalgebra r (a, b, c, d) | |
| (FreeCounitalCoalgebra r a, FreeCounitalCoalgebra r b, FreeCounitalCoalgebra r c, FreeCounitalCoalgebra r d, FreeCounitalCoalgebra r e) => FreeCounitalCoalgebra r (a, b, c, d, e) | |
| (FreeUnitalAlgebra r a, FreeCounitalCoalgebra r c) => FreeCounitalCoalgebra (a -> r) c |