Copyright | (c) 2016 Justus Sagemüller |
---|---|
License | GPL v3 (see COPYING) |
Maintainer | (@) sagemueller $ geo.uni-koeln.de |
Safe Haskell | Trustworthy |
Language | Haskell2010 |
Pattern synonyms which allow you to deconstruct the various types in Control.Category.Constrained.Reified in a uniform way.
This kind of polymorphic pattern (with ViewPatterns
) doesn't
seem to work prior to GHC-7.10, so if you have base<4.8 these
synonyms aren't available.
- pattern Specific :: () => CRCategory k => SpecificCat k α β -> k α β
- pattern Id :: ((~) * α β, Object k β) => CRCategory k => k α β
- pattern (:<<<) :: Object k β => CRCategory k => k β β -> k α β -> k α β
- pattern (:>>>) :: Object k β => CRCategory k => k α β -> k β β -> k α β
- pattern Swap :: ((~) * α (α, β), (~) * β (β, α), ObjectPair k α β, ObjectPair k β α) => CRCartesian k => k α β
- pattern AttachUnit :: ((~) * β (α, u), Object k α, (~) * (UnitObject k) u, ObjectPair k α u) => CRCartesian k => k α β
- pattern DetachUnit :: ((~) * α (β, u), Object k β, (~) * (UnitObject k) u, ObjectPair k β u) => CRCartesian k => k α β
- pattern Regroup :: ((~) * α (α, (β, γ)), (~) * β ((α, β), γ), ObjectPair k α β, ObjectPair k β γ, ObjectPair k α (β, γ), ObjectPair k (α, β) γ) => CRCartesian k => k α β
- pattern Regroup' :: ((~) * α ((α, β), γ), (~) * β (α, (β, γ)), ObjectPair k α β, ObjectPair k β γ, ObjectPair k α (β, γ), ObjectPair k (α, β) γ) => CRCartesian k => k α β
- pattern (:***) :: ((~) * α (α, γ), (~) * β (β, δ), ObjectPair k α γ, ObjectPair k β δ) => CRMorphism k => k α β -> k γ δ -> k α β
- pattern (:&&&) :: ((~) * β (β, γ), Object k α, ObjectPair k β γ) => CRPreArrow k => k α β -> k α γ -> k α β
- pattern Fst :: ((~) * α (β, β), ObjectPair k β β) => CRPreArrow k => k α β
- pattern Snd :: ((~) * α (α, β), ObjectPair k α β) => CRPreArrow k => k α β
- pattern Terminal :: (Object k α, (~) * (UnitObject k) β) => CRPreArrow k => k α β
- pattern Const :: (Object k α, Object k β) => CRWellPointed k => β -> k α β
- class Category k => CRCategory k where
- type SpecificCat k :: * -> * -> *
- fromSpecific :: SpecificCat k α β -> k α β
- match_concrete :: k α β -> Maybe (SpecificCat k α β)
- match_id :: k α β -> IdPattern k α β
- match_compose :: k α β -> CompoPattern k α β
- class CRCategory k => CRCartesian k where
- match_swap :: k α β -> SwapPattern k α β
- match_attachUnit :: k α β -> AttachUnitPattern k α β
- match_detachUnit :: k α β -> DetachUnitPattern k α β
- match_regroup :: k α β -> RegroupPattern k α β
- match_regroup' :: k α β -> Regroup'Pattern k α β
- class CRCartesian k => CRMorphism k where
- match_par :: k α β -> ParPattern k α β
- class CRCartesian k => CRPreArrow k where
- match_fan :: k α β -> FanPattern k α β
- match_fst :: k α β -> FstPattern k α β
- match_snd :: k α β -> SndPattern k α β
- match_terminal :: k α β -> TerminalPattern k α β
- class CRPreArrow k => CRWellPointed k where
- match_const :: k α β -> ConstPattern k α β
Pattern synonyms (GHC>=7.10)
Category
pattern Specific :: () => CRCategory k => SpecificCat k α β -> k α β Source
pattern Id :: ((~) * α β, Object k β) => CRCategory k => k α β Source
pattern (:<<<) :: Object k β => CRCategory k => k β β -> k α β -> k α β infixr 1 Source
pattern (:>>>) :: Object k β => CRCategory k => k α β -> k β β -> k α β infixr 1 Source
Cartesian
pattern Swap :: ((~) * α (α, β), (~) * β (β, α), ObjectPair k α β, ObjectPair k β α) => CRCartesian k => k α β Source
pattern AttachUnit :: ((~) * β (α, u), Object k α, (~) * (UnitObject k) u, ObjectPair k α u) => CRCartesian k => k α β Source
pattern DetachUnit :: ((~) * α (β, u), Object k β, (~) * (UnitObject k) u, ObjectPair k β u) => CRCartesian k => k α β Source
pattern Regroup :: ((~) * α (α, (β, γ)), (~) * β ((α, β), γ), ObjectPair k α β, ObjectPair k β γ, ObjectPair k α (β, γ), ObjectPair k (α, β) γ) => CRCartesian k => k α β Source
pattern Regroup' :: ((~) * α ((α, β), γ), (~) * β (α, (β, γ)), ObjectPair k α β, ObjectPair k β γ, ObjectPair k α (β, γ), ObjectPair k (α, β) γ) => CRCartesian k => k α β Source
Morphism
pattern (:***) :: ((~) * α (α, γ), (~) * β (β, δ), ObjectPair k α γ, ObjectPair k β δ) => CRMorphism k => k α β -> k γ δ -> k α β infixr 3 Source
Pre-arrow
pattern (:&&&) :: ((~) * β (β, γ), Object k α, ObjectPair k β γ) => CRPreArrow k => k α β -> k α γ -> k α β infixr 3 Source
pattern Fst :: ((~) * α (β, β), ObjectPair k β β) => CRPreArrow k => k α β Source
pattern Snd :: ((~) * α (α, β), ObjectPair k α β) => CRPreArrow k => k α β Source
pattern Terminal :: (Object k α, (~) * (UnitObject k) β) => CRPreArrow k => k α β Source
Well-pointed
pattern Const :: (Object k α, Object k β) => CRWellPointed k => β -> k α β Source
Deconstruction-classes
class Category k => CRCategory k where Source
type SpecificCat k :: * -> * -> * Source
fromSpecific :: SpecificCat k α β -> k α β Source
match_concrete :: k α β -> Maybe (SpecificCat k α β) Source
match_id :: k α β -> IdPattern k α β Source
match_compose :: k α β -> CompoPattern k α β Source
WellPointed k => CRCategory (ReWellPointed k) Source | |
PreArrow k => CRCategory (RePreArrow k) Source | |
Morphism k => CRCategory (ReMorphism k) Source | |
Cartesian k => CRCategory (ReCartesian k) Source | |
Category k => CRCategory (ReCategory k) Source |
class CRCategory k => CRCartesian k where Source
match_swap :: k α β -> SwapPattern k α β Source
match_attachUnit :: k α β -> AttachUnitPattern k α β Source
match_detachUnit :: k α β -> DetachUnitPattern k α β Source
match_regroup :: k α β -> RegroupPattern k α β Source
match_regroup' :: k α β -> Regroup'Pattern k α β Source
WellPointed k => CRCartesian (ReWellPointed k) Source | |
PreArrow k => CRCartesian (RePreArrow k) Source | |
Morphism k => CRCartesian (ReMorphism k) Source | |
Cartesian k => CRCartesian (ReCartesian k) Source |
class CRCartesian k => CRMorphism k where Source
WellPointed k => CRMorphism (ReWellPointed k) Source | |
PreArrow k => CRMorphism (RePreArrow k) Source | |
Morphism k => CRMorphism (ReMorphism k) Source |
class CRCartesian k => CRPreArrow k where Source
match_fan :: k α β -> FanPattern k α β Source
match_fst :: k α β -> FstPattern k α β Source
match_snd :: k α β -> SndPattern k α β Source
match_terminal :: k α β -> TerminalPattern k α β Source
WellPointed k => CRPreArrow (ReWellPointed k) Source | |
PreArrow k => CRPreArrow (RePreArrow k) Source |
class CRPreArrow k => CRWellPointed k where Source
match_const :: k α β -> ConstPattern k α β Source
WellPointed k => CRWellPointed (ReWellPointed k) Source |