| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Data.Semimodule.Index
Synopsis
- type (+) = Either
- rgt :: (a -> b) -> (a + b) -> b
- rgt' :: (Void + b) -> b
- lft :: (b -> a) -> (a + b) -> a
- lft' :: (a + Void) -> a
- eswap :: (a1 + a2) -> a2 + a1
- fork :: a -> (a, a)
- join :: (a + a) -> a
- eval :: (a, a -> b) -> b
- apply :: (b -> a, b) -> a
- type Index b c = forall a. Trans a b c
- type Endo a b = Trans a b b
- newtype Trans a b c = Trans {
- runTrans :: (c -> a) -> b -> a
- arr :: (b -> c) -> Index b c
- app :: Basis b f => Basis c g => Trans a b c -> g a -> f a
- in1 :: Index (a, b) b
- in2 :: Index (a, b) a
- exl :: Index a (a + b)
- exr :: Index b (a + b)
- braid :: Index (a, b) (b, a)
- ebraid :: Index (a + b) (b + a)
- first :: Index b c -> Index (b, d) (c, d)
- second :: Index b c -> Index (d, b) (d, c)
- left :: Index b c -> Index (b + d) (c + d)
- right :: Index b c -> Index (d + b) (d + c)
- (***) :: Index a1 b1 -> Index a2 b2 -> Index (a1, a2) (b1, b2)
- (+++) :: Index a1 b1 -> Index a2 b2 -> Index (a1 + a2) (b1 + b2)
- (&&&) :: Index a b1 -> Index a b2 -> Index a (b1, b2)
- (|||) :: Index a1 b -> Index a2 b -> Index (a1 + a2) b
- ($$$) :: Index a (b -> c) -> Index a b -> Index a c
- adivide :: (a -> (a1, a2)) -> Index a1 b -> Index a2 b -> Index a b
- adivide' :: Index a b -> Index a b -> Index a b
- adivided :: Index a1 b -> Index a2 b -> Index (a1, a2) b
- aselect :: ((b1 + b2) -> b) -> Index a b1 -> Index a b2 -> Index a b
- aselect' :: Index a b -> Index a b -> Index a b
- aselected :: Index a b1 -> Index a b2 -> Index a (b1 + b2)
Documentation
type Index b c = forall a. Trans a b c Source #
A binary relation between two basis indices.
relations correspond to permutations, projections,
and embedding transformations, as well as combinations thereof.Index b c