Data.Lens.Types  
- Package
- profunctor-lenses
- Repository
- purerl/purescript-profunctor-lenses
This module defines types for working with lenses.
#ATraversal' Source
type ATraversal' s a = ATraversal s s a a#AffineTraversal Source
type AffineTraversal s t a b = forall p. Strong p => Choice p => Optic p s t a bAn affine traversal (has at most one focus, but is not a prism).
#AffineTraversal' Source
type AffineTraversal' s a = AffineTraversal s s a a#AnAffineTraversal Source
type AnAffineTraversal s t a b = Optic (Stall a b) s t a b#AnAffineTraversal' Source
type AnAffineTraversal' s a = AnAffineTraversal s s a a#AnIndexedLens Source
type AnIndexedLens i s t a b = IndexedOptic (Shop (Tuple i a) b) i s t a b#AnIndexedLens' Source
type AnIndexedLens' i s a = AnIndexedLens i s s a a#IndexedFold Source
type IndexedFold r i s t a b = IndexedOptic (Forget r) i s t a bAn indexed fold.
#IndexedFold' Source
type IndexedFold' r i s a = IndexedFold r i s s a a#IndexedGetter Source
type IndexedGetter i s t a b = IndexedFold a i s t a bAn indexed getter.
#IndexedGetter' Source
type IndexedGetter' i s a = IndexedGetter i s s a a#IndexedLens Source
type IndexedLens i s t a b = forall p. Strong p => IndexedOptic p i s t a bAn indexed lens.
#IndexedLens' Source
type IndexedLens' i s a = IndexedLens i s s a a#IndexedOptic' Source
type IndexedOptic' :: (Type -> Type -> Type) -> Type -> Type -> Type -> Typetype IndexedOptic' p i s a = IndexedOptic p i s s a a
#IndexedSetter Source
type IndexedSetter i s t a b = IndexedOptic Function i s t a bAn indexed setter.
#IndexedSetter' Source
type IndexedSetter' i s a = IndexedSetter i s s a a#IndexedTraversal Source
type IndexedTraversal i s t a b = forall p. Wander p => IndexedOptic p i s t a bAn indexed traversal.
#IndexedTraversal' Source
type IndexedTraversal' i s a = IndexedTraversal i s s a a#Iso Source
type Iso s t a b = forall p. Profunctor p => Optic p s t a bA generalized isomorphism.
#Lens Source
type Lens s t a b = forall p. Strong p => Optic p s t a bGiven a type whose "focus element" always exists, a lens provides a convenient way to view, set, and transform that element.
For example, _2 is a tuple-specific Lens available from Data.Lens, so:
over _2 String.length $ Tuple "ignore" "four" == Tuple "ignore" 4
Note the result has a different type than the original tuple.
That is, the four Lens type variables have been narrowed to:
- sis- Tuple String String
- tis- Tuple String Int
- ais- String
- bis- Int
See Data.Lens.Getter and Data.Lens.Setter for functions and operators
frequently used with lenses.
#Lens' Source
type Lens' s a = Lens s s a aLens' is a specialization of Lens. An optic of type Lens'
can change only the value of its focus,
not its type. As an example, consider the Lens _2, which has this type:
_2 :: forall s t a b. Lens (Tuple s a) (Tuple t b) a b
_2 can produce a Tuple Int String from a Tuple Int Int:
set _2 "NEW" (Tuple 1 2) == (Tuple 1 "NEW")
If we specialize _2's type with Lens', the following will not
type check:
set (_2 :: Lens' (Tuple Int Int) Int) "NEW" (Tuple 1 2)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
See Data.Lens.Getter and Data.Lens.Setter for functions and operators
frequently used with lenses.
#Traversal' Source
type Traversal' s a = Traversal s s a aRe-exports from Data.Lens.Internal.Exchange   
Re-exports from Data.Lens.Internal.Forget   
#Forget Source
Re-exports from Data.Lens.Internal.Grating   
Re-exports from Data.Lens.Internal.Indexed   
#Indexed Source
Re-exports from Data.Lens.Internal.Market   
Re-exports from Data.Lens.Internal.Re   
#Re Source
Re-exports from Data.Lens.Internal.Shop   
Re-exports from Data.Lens.Internal.Stall   
Re-exports from Data.Lens.Internal.Tagged   
#Tagged Source
Re-exports from Data.Lens.Internal.Wander   
#Wander Source
class Wander :: (Type -> Type -> Type) -> Constraintclass (Strong p, Choice p) <= Wander p where
Class for profunctors that support polymorphic traversals.
Members
- wander :: forall s t a b. (forall f. Applicative f => (a -> f b) -> s -> f t) -> p a b -> p s t
Instances
- Wander Function
- (Applicative f) => Wander (Star f)
- Modules
- Data.Lens 
- Data.Lens. AffineTraversal 
- Data.Lens. At 
- Data.Lens. Common 
- Data.Lens. Fold 
- Data.Lens. Fold. Partial 
- Data.Lens. Getter 
- Data.Lens. Grate 
- Data.Lens. Index 
- Data.Lens. Indexed 
- Data.Lens. Internal. Bazaar 
- Data.Lens. Internal. Exchange 
- Data.Lens. Internal. Focusing 
- Data.Lens. Internal. Forget 
- Data.Lens. Internal. Grating 
- Data.Lens. Internal. Indexed 
- Data.Lens. Internal. Market 
- Data.Lens. Internal. Re 
- Data.Lens. Internal. Shop 
- Data.Lens. Internal. Stall 
- Data.Lens. Internal. Tagged 
- Data.Lens. Internal. Wander 
- Data.Lens. Internal. Zipping 
- Data.Lens. Iso 
- Data.Lens. Iso. Newtype 
- Data.Lens. Lens 
- Data.Lens. Lens. Product 
- Data.Lens. Lens. Tuple 
- Data.Lens. Lens. Unit 
- Data.Lens. Lens. Void 
- Data.Lens. Prism 
- Data.Lens. Prism. Coproduct 
- Data.Lens. Prism. Either 
- Data.Lens. Prism. Maybe 
- Data.Lens. Record 
- Data.Lens. Setter 
- Data.Lens. Traversal 
- Data.Lens. Types 
- Data.Lens. Zoom