Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module is intended for internal use only, and may change without warning in subsequent releases.
Synopsis
- data An_Iso
- data A_Lens
- data A_Prism
- data An_AffineTraversal
- data A_Traversal
- data A_Setter
- data A_ReversedPrism
- data A_Getter
- data An_AffineFold
- data A_Fold
- data A_ReversedLens
- data A_Review
- type family Constraints (k :: *) (p :: * -> * -> * -> *) :: Constraint where ...
Documentation
Tag for an iso.
Instances
Tag for a lens.
Instances
Tag for a prism.
Instances
data An_AffineTraversal Source #
Tag for an affine traversal.
Instances
data A_Traversal Source #
Tag for a traversal.
Instances
Tag for a setter.
Instances
data A_ReversedPrism Source #
Tag for a reversed prism.
Instances
Tag for a getter.
Instances
data An_AffineFold Source #
Tag for an affine fold.
Instances
Tag for a fold.
Instances
data A_ReversedLens Source #
Tag for a reversed lens.
Instances
ReversibleOptic A_ReversedLens Source # | |
Defined in Optics.Re type ReversedOptic A_ReversedLens = (r :: Type) Source # re :: AcceptsEmptyIndices "re" is => Optic A_ReversedLens is s t a b -> Optic (ReversedOptic A_ReversedLens) is b a t s Source # | |
Is A_ReversedLens A_Review Source # | |
Defined in Optics.Internal.Optic.Subtyping implies :: proxy A_ReversedLens A_Review p -> (Constraints A_ReversedLens p -> r) -> Constraints A_Review p -> r Source # | |
Is An_Iso A_ReversedLens Source # | |
Defined in Optics.Internal.Optic.Subtyping implies :: proxy An_Iso A_ReversedLens p -> (Constraints An_Iso p -> r) -> Constraints A_ReversedLens p -> r Source # | |
type ReversedOptic A_ReversedLens Source # | |
Defined in Optics.Re |
Tag for a review.
Instances
ReversibleOptic A_Review Source # | |
Defined in Optics.Re type ReversedOptic A_Review = (r :: Type) Source # re :: AcceptsEmptyIndices "re" is => Optic A_Review is s t a b -> Optic (ReversedOptic A_Review) is b a t s Source # | |
Is A_ReversedLens A_Review Source # | |
Defined in Optics.Internal.Optic.Subtyping implies :: proxy A_ReversedLens A_Review p -> (Constraints A_ReversedLens p -> r) -> Constraints A_Review p -> r Source # | |
Is A_Prism A_Review Source # | |
Defined in Optics.Internal.Optic.Subtyping implies :: proxy A_Prism A_Review p -> (Constraints A_Prism p -> r) -> Constraints A_Review p -> r Source # | |
Is An_Iso A_Review Source # | |
Defined in Optics.Internal.Optic.Subtyping implies :: proxy An_Iso A_Review p -> (Constraints An_Iso p -> r) -> Constraints A_Review p -> r Source # | |
type ReversedOptic A_Review Source # | |
Defined in Optics.Re |
type family Constraints (k :: *) (p :: * -> * -> * -> *) :: Constraint where ... Source #
Mapping tag types k
to constraints on p
.
Using this type family we define the constraints that the various flavours of optics have to fulfill.
Constraints An_Iso p = Profunctor p | |
Constraints A_Lens p = Strong p | |
Constraints A_ReversedLens p = Costrong p | |
Constraints A_Prism p = Choice p | |
Constraints A_ReversedPrism p = Cochoice p | |
Constraints An_AffineTraversal p = Visiting p | |
Constraints A_Traversal p = Traversing p | |
Constraints A_Setter p = Mapping p | |
Constraints A_Getter p = (Bicontravariant p, Cochoice p, Strong p) | |
Constraints An_AffineFold p = (Bicontravariant p, Cochoice p, Visiting p) | |
Constraints A_Fold p = (Bicontravariant p, Cochoice p, Traversing p) | |
Constraints A_Review p = (Bifunctor p, Choice p, Costrong p) |