Copyright | (c) David Janin, 2016 |
---|---|
License | see the LICENSE file in the distribution |
Maintainer | janin@labri.fr |
Stability | experimental |
Safe Haskell | Safe |
Language | Haskell2010 |
Haskell instances of the categorical properties of duration or delay preserving function over tiles, using the various packages Control.Category.* by Edward Kmett.
- newtype FuncT d iv v1 v2 = FuncT (Tile d iv v1 -> Tile d iv v2)
- newtype FuncDurP d iv v1 v2 = FuncDurP (Tile d iv v1 -> Tile d iv v2)
- toFuncDurP :: (Eq d, Num d, Lattice d, POrd v1) => Functile d iv v1 v2 -> FuncDurP d iv v1 v2
- newtype FuncDelayP d iv v1 v2 = FuncDelayP (Tile d iv v1 -> Tile d iv v2)
- toFuncDelayP :: (Eq d, Num d, Lattice d, POrd v1) => Functile d iv v1 v2 -> FuncDelayP d iv v1 v2
Category instances
newtype FuncDurP d iv v1 v2 Source #
The category of duration preserving functions over tiles. A tile function is a duration preserving tile function when
durationT t == durationT (f t)
(Eq d, Num d, Lattice d) => PFunctor Either (FuncDurP d iv) (FuncDurP d iv) Source # | |
(Eq d, Num d, Lattice d) => QFunctor Either (FuncDurP d iv) (FuncDurP d iv) Source # | |
(Eq d, Num d, Lattice d) => Bifunctor Either (FuncDurP d iv) (FuncDurP d iv) (FuncDurP d iv) Source # | |
Category * (FuncDurP d iv) Source # | |
(Eq d, Num d, Lattice d) => CCC (FuncDurP d iv) Source # | |
(Eq d, Num d, Lattice d) => Cartesian (FuncDurP d iv) Source # | |
(Eq d, Num d, Lattice d) => Braided (FuncDurP d iv) Either Source # | |
(Eq d, Num d, Lattice d) => Symmetric (FuncDurP d iv) Either Source # | |
(Eq d, Num d, Lattice d) => Monoidal (FuncDurP d iv) Either Source # | |
(Eq d, Num d, Lattice d) => Associative (FuncDurP d iv) Either Source # | |
(Eq d, Fractional d, Lattice d) => Fractional (FuncDurP d iv v1 v2) Source # | |
(Eq d, Num d, Lattice d) => Num (FuncDurP d iv v1 v2) Source # | |
type Exp (FuncDurP d iv) Source # | |
type Product (FuncDurP d iv) Source # | |
type Id (FuncDurP d iv) Either Source # | |
toFuncDurP :: (Eq d, Num d, Lattice d, POrd v1) => Functile d iv v1 v2 -> FuncDurP d iv v1 v2 Source #
Lifts any function over tiles to a duration preserving function over tiles.
newtype FuncDelayP d iv v1 v2 Source #
The category of delay preserving functions over tiles. A tile function is a delay preserving tile function when
f (delayT t) == delayT (f t)
FuncDelayP (Tile d iv v1 -> Tile d iv v2) |
toFuncDelayP :: (Eq d, Num d, Lattice d, POrd v1) => Functile d iv v1 v2 -> FuncDelayP d iv v1 v2 Source #
Lifts any function over tiles to a delay preserving function over tiles.