Type synonym for a type-modifying reversed prism.
Moduleoptics-core-0.4.1.1Haskell2010
Optics.ReversedPrism
A ReversedPrism is a backwards Prism, i.e. a
ReversedPrism s t a b is equivalent to a Prism b a t
s. These are typically produced by calling re on a
Prism. They are distinguished from a Getter
so that re . re on a Prism returns a
Prism.
- 3 types
- Packageoptics-core-0.4.1.1
- Exports3
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceReversedPrism.hs
Formation
2 declarationsType synonym for a type-preserving reversed prism.
Introduction
0 declarationsThere is no canonical introduction form for ReversedPrism, but you can use re to construct one from a Prism:
(\ f g -> re (prism f g)) :: (s -> a) -> (b -> Either a t) -> ReversedPrism s t a b
Elimination
0 declarationsA ReversedPrism is a Getter, so you can specialise types to obtain:
view :: ReversedPrism' s a -> s -> a
There is no reversed matching defined, but it is definable using re:
matching . re :: ReversedPrism s t a b -> b -> Either a t
Computation
0 declarationsSubtyping
1 declarationTag for a reversed prism.
Instances27ReversibleOptic, Is, JoinKinds, ToReadOnly, MappingOptic, MappedOptic, …
ReversibleOptic A_ReversedPrismDefined in optics-core-0.4.1.1 · Optics.ReIs A_ReversedPrism A_FoldDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs A_ReversedPrism A_GetterDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs A_ReversedPrism An_AffineFoldDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs An_Iso A_ReversedPrismDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_Fold A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_ReversedPrism A_Fold kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_ReversedPrism A_Traversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_Traversal A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_Getter A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_Lens A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_ReversedPrism A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_ReversedPrism A_Lens kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_ReversedPrism => JoinKinds A_ReversedPrism A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_ReversedPrism => JoinKinds A_ReversedPrism An_Iso kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_ReversedPrism => JoinKinds An_Iso A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_Prism A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_ReversedPrism A_Prism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_ReversedPrism An_AffineFold kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_ReversedPrism An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineFold A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineTraversal A_ReversedPrism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingToReadOnly A_ReversedPrism s t a bDefined in optics-core-0.4.1.1 · Optics.ReadOnly(Functor f, f ~ g, s ~ t, a ~ b) => MappingOptic A_ReversedPrism f g s t a bDefined in optics-core-0.4.1.1 · Optics.Mappingtype MappedOptic A_ReversedPrism = A_GetterDefined in optics-core-0.4.1.1 · Optics.Mappingtype ReversedOptic A_ReversedPrism = A_PrismDefined in optics-core-0.4.1.1 · Optics.Retype ReadOnlyOptic A_ReversedPrism = A_GetterDefined in optics-core-0.4.1.1 · Optics.ReadOnly