Type synonym for a getter.
Moduleoptics-core-0.4.1.1Haskell2010
Optics.Getter
A Getter is simply a function considered as an Optic.
Given a function f :: S -> A, we can convert it into a
Getter S A using to, and convert back to a function using view.
This is typically useful not when you have functions/Getters alone, but when you are composing multiple Optics to produce a Getter.
- 2 types
- 3 values
- Packageoptics-core-0.4.1.1
- Exports5
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceGetter.hs
Formation
1 declarationIntroduction
1 declarationBuild a getter from a function.
Elimination
2 declarationsView the function of the value pointed to by a getter.
Computation
0 declarationsWell-formedness
0 declarationsA Getter is not subject to any laws.
Subtyping
1 declarationTag for a getter.
Instances29ReversibleOptic, Is, JoinKinds, IxOptic, ToReadOnly, MappingOptic, …
ReversibleOptic A_GetterDefined in optics-core-0.4.1.1 · Optics.ReIs A_Getter A_FoldDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs A_Getter An_AffineFoldDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.SubtypingIs A_Lens A_GetterDefined 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 An_Iso A_GetterDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_Fold A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_Getter A_Fold kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_Getter A_Traversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Fold => JoinKinds A_Traversal A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_Getter A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_Getter A_Lens 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_Getter An_Iso kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ A_Getter => JoinKinds A_Lens A_Getter 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 An_Iso A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_Getter A_Prism kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_Getter An_AffineFold kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_Getter An_AffineTraversal kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds A_Prism A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineFold A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtypingk ~ An_AffineFold => JoinKinds An_AffineTraversal A_Getter kDefined in optics-core-0.4.1.1 · Optics.Internal.Optic.Subtyping(s ~ t, a ~ b) => IxOptic A_Getter s t a bDefined in optics-core-0.4.1.1 · Optics.Indexed.Core(s ~ t, a ~ b) => ToReadOnly A_Getter s t a bDefined in optics-core-0.4.1.1 · Optics.ReadOnly(Functor f, f ~ g, s ~ t, a ~ b) => MappingOptic A_Getter f g s t a bDefined in optics-core-0.4.1.1 · Optics.MappingExample1 expression [('a', True), ('b', False)] ^. _1 %& mapping"ab"
Example2 expressions let v = [[ (('a', True), "foo"), (('b', False), "bar")], [ (('c', True), "xyz") ] ]v ^. _1 % _2 %& mapping %& mapping[[True,False],[True]]
type MappedOptic A_Getter = A_GetterDefined in optics-core-0.4.1.1 · Optics.Mappingtype ReversedOptic A_Getter = A_ReviewDefined in optics-core-0.4.1.1 · Optics.Retype ReadOnlyOptic A_Getter = A_GetterDefined in optics-core-0.4.1.1 · Optics.ReadOnly