Data.Lens.Partial.Common
- newtype PartialLens a b = PLens (a -> Maybe (Store b a))
- runPLens :: PartialLens a b -> a -> Coproduct Identity (Store b) a
- null :: PartialLens a b
- totalLens :: Lens a b -> PartialLens a b
- getPL :: PartialLens a b -> a -> Maybe b
- trySetPL :: PartialLens a b -> a -> Maybe (b -> a)
- setPL :: PartialLens a b -> b -> a -> a
- modPL :: PartialLens a b -> (b -> b) -> a -> a
- (^=) :: PartialLens a b -> b -> a -> a
- (^%=) :: PartialLens a b -> (b -> b) -> a -> a
- (^+=), (^*=), (^-=) :: Num b => PartialLens a b -> b -> a -> a
- (^/=) :: Fractional b => PartialLens a b -> b -> a -> a
- maybeLens :: PartialLens (Maybe a) a
- leftLens :: PartialLens (Either a b) a
- rightLens :: PartialLens (Either a b) b
- headLens :: PartialLens [a] a
- tailLens :: PartialLens [a] [a]
Documentation
newtype PartialLens a b Source
Instances
null :: PartialLens a bSource
totalLens :: Lens a b -> PartialLens a bSource
Functional API
getPL :: PartialLens a b -> a -> Maybe bSource
trySetPL :: PartialLens a b -> a -> Maybe (b -> a)Source
setPL :: PartialLens a b -> b -> a -> aSource
modPL :: PartialLens a b -> (b -> b) -> a -> aSource
Operator API
(^=) :: PartialLens a b -> b -> a -> aSource
(^%=) :: PartialLens a b -> (b -> b) -> a -> aSource
Pseudo-imperatives
(^/=) :: Fractional b => PartialLens a b -> b -> a -> aSource
Stock partial lenses
maybeLens :: PartialLens (Maybe a) aSource
leftLens :: PartialLens (Either a b) aSource
rightLens :: PartialLens (Either a b) bSource
headLens :: PartialLens [a] aSource
tailLens :: PartialLens [a] [a]Source