microlens-platform-0.4.4.1: microlens + all batteries included (best for apps)
Copyright(C) 2013-2016 Edward Kmett 2015-2016 Artyom Kazak 2018 Monadfix
LicenseBSD-style (see the file LICENSE)
Safe HaskellTrustworthy
LanguageHaskell2010

Lens.Micro.Platform

Description

This module is an approximation for Control.Lens from lens; by importing it you get all functions and instances from microlens, microlens-mtl, microlens-ghc, as well as the following instances:

Synopsis

Documentation

type Lens s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t #

type Lens' s a = Lens s s a a #

_1 :: Field1 s t a b => Lens s t a b #

_2 :: Field2 s t a b => Lens s t a b #

_3 :: Field3 s t a b => Lens s t a b #

_4 :: Field4 s t a b => Lens s t a b #

_5 :: Field5 s t a b => Lens s t a b #

at :: At m => Index m -> Lens' m (Maybe (IxValue m)) #

each :: Each s t a b => Traversal s t a b #

foldMapOf :: Getting r s a -> (a -> r) -> s -> r #

folded :: forall (f :: Type -> Type) a. Foldable f => SimpleFold (f a) a #

ix :: Ixed m => Index m -> Traversal' m (IxValue m) #

lazy :: Strict lazy strict => Lens' strict lazy #

strict :: Strict lazy strict => Lens' lazy strict #

sets :: ((a -> b) -> s -> t) -> ASetter s t a b #

traversed :: forall (f :: Type -> Type) a b. Traversable f => Traversal (f a) (f b) a b #

type ASetter s t a b = (a -> Identity b) -> s -> Identity t #

type ASetter' s a = ASetter s s a a #

type Getting r s a = (a -> Const r a) -> s -> Const r s #

type LensLike (f :: Type -> Type) s t a b = (a -> f b) -> s -> f t #

type LensLike' (f :: Type -> Type) s a = LensLike f s s a a #

type SimpleFold s a = forall r. Monoid r => Getting r s a #

type SimpleGetter s a = forall r. Getting r s a #

type Traversal s t a b = forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t #

type Traversal' s a = Traversal s s a a #

(%~) :: ASetter s t a b -> (a -> b) -> s -> t #

(+~) :: Num a => ASetter s t a a -> a -> s -> t #

(-~) :: Num a => ASetter s t a a -> a -> s -> t #

(.~) :: ASetter s t a b -> b -> s -> t #

(<%~) :: LensLike ((,) b) s t a b -> (a -> b) -> s -> (b, t) #

(<<%~) :: LensLike ((,) a) s t a b -> (a -> b) -> s -> (a, t) #

(<<.~) :: LensLike ((,) a) s t a b -> b -> s -> (a, t) #

(<>~) :: Monoid a => ASetter s t a a -> a -> s -> t #

(?~) :: ASetter s t a (Maybe b) -> b -> s -> t #

(^.) :: s -> Getting a s a -> a #

(^..) :: s -> Getting (Endo [a]) s a -> [a] #

(^?) :: s -> Getting (First a) s a -> Maybe a #

(^?!) :: HasCallStack => s -> Getting (Endo a) s a -> a #

failing :: Traversal s t a b -> Traversal s t a b -> Traversal s t a b #

(&) :: a -> (a -> b) -> b #

(<&>) :: Functor f => f a -> (a -> b) -> f b #

_Just :: forall a a' f. Applicative f => (a -> f a') -> Maybe a -> f (Maybe a') #

_Left :: forall a b a' f. Applicative f => (a -> f a') -> Either a b -> f (Either a' b) #

_Nothing :: forall a f. Applicative f => (() -> f ()) -> Maybe a -> f (Maybe a) #

_Right :: forall a b b' f. Applicative f => (b -> f b') -> Either a b -> f (Either a b') #

_Show :: (Show a, Read a) => Traversal' String a #

_head :: Cons s s a a => Traversal' s a #

_init :: Snoc s s a a => Traversal' s s #

_last :: Snoc s s a a => Traversal' s a #

_tail :: Cons s s a a => Traversal' s s #

allOf :: Getting All s a -> (a -> Bool) -> s -> Bool #

anyOf :: Getting Any s a -> (a -> Bool) -> s -> Bool #

both :: forall a b f. Applicative f => (a -> f b) -> (a, a) -> f (b, b) #

cosmosOf :: Traversal a t a t -> Traversal a t a b' #

filtered :: (a -> Bool) -> Traversal' a a #

folding :: Foldable f => (s -> f a) -> SimpleFold s a #

forOf :: LensLike f s t a b -> s -> (a -> f b) -> f t #

forOf_ :: Functor f => Getting (Traversed r f) s a -> s -> (a -> f r) -> f () #

has :: Getting Any s a -> s -> Bool #

lens :: (s -> a) -> (s -> b -> t) -> Lens s t a b #

lined :: Traversal' String String #

mapAccumLOf :: LensLike (State acc) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t) #

mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t #

mapped :: Functor f => ASetter (f a) (f b) a b #

non :: Eq a => a -> Lens' (Maybe a) a #

noneOf :: Getting Any s a -> (a -> Bool) -> s -> Bool #

over :: ASetter s t a b -> (a -> b) -> s -> t #

rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b #

rewriteOf :: ASetter a b a b -> (b -> Maybe a) -> a -> b #

set :: ASetter s t a b -> b -> s -> t #

singular :: HasCallStack => Traversal s t a a -> Lens s t a a #

to :: (s -> a) -> SimpleGetter s a #

toListOf :: Getting (Endo [a]) s a -> s -> [a] #

transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b #

transformOf :: ASetter a b a b -> (b -> b) -> a -> b #

traverseOf :: LensLike f s t a b -> (a -> f b) -> s -> f t #

traverseOf_ :: Functor f => Getting (Traversed r f) s a -> (a -> f r) -> s -> f () #

worded :: Traversal' String String #

type Lens s t a b = forall (f :: Type -> Type). Functor f => (a -> f b) -> s -> f t #

type Lens' s a = Lens s s a a #

_1 :: Field1 s t a b => Lens s t a b #

_2 :: Field2 s t a b => Lens s t a b #

_3 :: Field3 s t a b => Lens s t a b #

_4 :: Field4 s t a b => Lens s t a b #

_5 :: Field5 s t a b => Lens s t a b #

at :: At m => Index m -> Lens' m (Maybe (IxValue m)) #

each :: Each s t a b => Traversal s t a b #

foldMapOf :: Getting r s a -> (a -> r) -> s -> r #

folded :: forall (f :: Type -> Type) a. Foldable f => SimpleFold (f a) a #

ix :: Ixed m => Index m -> Traversal' m (IxValue m) #

lazy :: Strict lazy strict => Lens' strict lazy #

strict :: Strict lazy strict => Lens' lazy strict #

sets :: ((a -> b) -> s -> t) -> ASetter s t a b #

traversed :: forall (f :: Type -> Type) a b. Traversable f => Traversal (f a) (f b) a b #

type ASetter s t a b = (a -> Identity b) -> s -> Identity t #

type ASetter' s a = ASetter s s a a #

type Getting r s a = (a -> Const r a) -> s -> Const r s #

type LensLike (f :: Type -> Type) s t a b = (a -> f b) -> s -> f t #

type LensLike' (f :: Type -> Type) s a = LensLike f s s a a #

type SimpleFold s a = forall r. Monoid r => Getting r s a #

type SimpleGetter s a = forall r. Getting r s a #

type Traversal s t a b = forall (f :: Type -> Type). Applicative f => (a -> f b) -> s -> f t #

type Traversal' s a = Traversal s s a a #

(%~) :: ASetter s t a b -> (a -> b) -> s -> t #

(+~) :: Num a => ASetter s t a a -> a -> s -> t #

(-~) :: Num a => ASetter s t a a -> a -> s -> t #

(.~) :: ASetter s t a b -> b -> s -> t #

(<%~) :: LensLike ((,) b) s t a b -> (a -> b) -> s -> (b, t) #

(<<%~) :: LensLike ((,) a) s t a b -> (a -> b) -> s -> (a, t) #

(<<.~) :: LensLike ((,) a) s t a b -> b -> s -> (a, t) #

(<>~) :: Monoid a => ASetter s t a a -> a -> s -> t #

(?~) :: ASetter s t a (Maybe b) -> b -> s -> t #

(^.) :: s -> Getting a s a -> a #

(^..) :: s -> Getting (Endo [a]) s a -> [a] #

(^?) :: s -> Getting (First a) s a -> Maybe a #

(^?!) :: HasCallStack => s -> Getting (Endo a) s a -> a #

failing :: Traversal s t a b -> Traversal s t a b -> Traversal s t a b #

(&) :: a -> (a -> b) -> b #

(<&>) :: Functor f => f a -> (a -> b) -> f b #

_Just :: forall a a' f. Applicative f => (a -> f a') -> Maybe a -> f (Maybe a') #

_Left :: forall a b a' f. Applicative f => (a -> f a') -> Either a b -> f (Either a' b) #

_Nothing :: forall a f. Applicative f => (() -> f ()) -> Maybe a -> f (Maybe a) #

_Right :: forall a b b' f. Applicative f => (b -> f b') -> Either a b -> f (Either a b') #

_Show :: (Show a, Read a) => Traversal' String a #

_head :: Cons s s a a => Traversal' s a #

_init :: Snoc s s a a => Traversal' s s #

_last :: Snoc s s a a => Traversal' s a #

_tail :: Cons s s a a => Traversal' s s #

allOf :: Getting All s a -> (a -> Bool) -> s -> Bool #

anyOf :: Getting Any s a -> (a -> Bool) -> s -> Bool #

both :: forall a b f. Applicative f => (a -> f b) -> (a, a) -> f (b, b) #

cosmosOf :: Traversal a t a t -> Traversal a t a b' #

filtered :: (a -> Bool) -> Traversal' a a #

folding :: Foldable f => (s -> f a) -> SimpleFold s a #

forOf :: LensLike f s t a b -> s -> (a -> f b) -> f t #

forOf_ :: Functor f => Getting (Traversed r f) s a -> s -> (a -> f r) -> f () #

has :: Getting Any s a -> s -> Bool #

lens :: (s -> a) -> (s -> b -> t) -> Lens s t a b #

lined :: Traversal' String String #

mapAccumLOf :: LensLike (State acc) s t a b -> (acc -> a -> (acc, b)) -> acc -> s -> (acc, t) #

mapMOf :: LensLike (WrappedMonad m) s t a b -> (a -> m b) -> s -> m t #

mapped :: Functor f => ASetter (f a) (f b) a b #

non :: Eq a => a -> Lens' (Maybe a) a #

noneOf :: Getting Any s a -> (a -> Bool) -> s -> Bool #

over :: ASetter s t a b -> (a -> b) -> s -> t #

rewriteMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m (Maybe a)) -> a -> m b #

rewriteOf :: ASetter a b a b -> (b -> Maybe a) -> a -> b #

set :: ASetter s t a b -> b -> s -> t #

singular :: HasCallStack => Traversal s t a a -> Lens s t a a #

to :: (s -> a) -> SimpleGetter s a #

toListOf :: Getting (Endo [a]) s a -> s -> [a] #

transformMOf :: Monad m => LensLike (WrappedMonad m) a b a b -> (b -> m b) -> a -> m b #

transformOf :: ASetter a b a b -> (b -> b) -> a -> b #

traverseOf :: LensLike f s t a b -> (a -> f b) -> s -> f t #

traverseOf_ :: Functor f => Getting (Traversed r f) s a -> (a -> f r) -> s -> f () #

worded :: Traversal' String String #

chars :: IsByteString t => Traversal' t Char #

packedBytes :: IsByteString t => Lens' [Word8] t #

packedChars :: IsByteString t => Lens' String t #

unpackedBytes :: IsByteString t => Lens' t [Word8] #

unpackedChars :: IsByteString t => Lens' t String #

type family Zoomed (m :: Type -> Type) :: Type -> Type -> Type #

Instances

Instances details
type Zoomed (MaybeT m) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (MaybeT m) = FocusingMay (Zoomed m)
type Zoomed (ExceptT e m) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (ExceptT e m) = FocusingErr e (Zoomed m)
type Zoomed (IdentityT m) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (IdentityT m) = Zoomed m
type Zoomed (ReaderT e m) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (ReaderT e m) = Zoomed m
type Zoomed (StateT s z) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (StateT s z) = Focusing z
type Zoomed (StateT s z) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (StateT s z) = Focusing z
type Zoomed (WriterT w m) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (WriterT w m) = FocusingPlus w (Zoomed m)
type Zoomed (WriterT w m) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (WriterT w m) = FocusingPlus w (Zoomed m)
type Zoomed (RWST r w s z) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (RWST r w s z) = FocusingWith w z
type Zoomed (RWST r w s z) 
Instance details

Defined in Lens.Micro.Mtl.Internal

type Zoomed (RWST r w s z) = FocusingWith w z

magnify :: Magnify m n b a => LensLike' (Magnified m c) a b -> m c -> n c #

zoom :: Zoom m n s t => LensLike' (Zoomed m c) t s -> m c -> n c #

(%=) :: MonadState s m => ASetter s s a b -> (a -> b) -> m () #

(&~) :: s -> State s a -> s #

(*=) :: (MonadState s m, Num a) => ASetter s s a a -> a -> m () #

(+=) :: (MonadState s m, Num a) => ASetter s s a a -> a -> m () #

(-=) :: (MonadState s m, Num a) => ASetter s s a a -> a -> m () #

(.=) :: MonadState s m => ASetter s s a b -> b -> m () #

(//=) :: (MonadState s m, Fractional a) => ASetter s s a a -> a -> m () #

(<%=) :: MonadState s m => LensLike ((,) b) s s a b -> (a -> b) -> m b #

(<.=) :: MonadState s m => LensLike ((,) b) s s a b -> b -> m b #

(<<%=) :: MonadState s m => LensLike ((,) a) s s a b -> (a -> b) -> m a #

(<<.=) :: MonadState s m => LensLike ((,) a) s s a b -> b -> m a #

(<?=) :: MonadState s m => LensLike ((,) b) s s a (Maybe b) -> b -> m b #

(<~) :: MonadState s m => ASetter s s a b -> m b -> m () #

(?=) :: MonadState s m => ASetter s s a (Maybe b) -> b -> m () #

assign :: MonadState s m => ASetter s s a b -> b -> m () #

modifying :: MonadState s m => ASetter s s a b -> (a -> b) -> m () #

preuse :: MonadState s m => Getting (First a) s a -> m (Maybe a) #

preview :: MonadReader s m => Getting (First a) s a -> m (Maybe a) #

use :: MonadState s m => Getting a s a -> m a #

view :: MonadReader s m => Getting a s a -> m a #

data DefName #

Constructors

TopName Name 
MethodName Name Name 

Instances

Instances details
Show DefName 
Instance details

Defined in Lens.Micro.TH

Methods

showsPrec :: Int -> DefName -> ShowS

show :: DefName -> String

showList :: [DefName] -> ShowS

Eq DefName 
Instance details

Defined in Lens.Micro.TH

Methods

(==) :: DefName -> DefName -> Bool

(/=) :: DefName -> DefName -> Bool

Ord DefName 
Instance details

Defined in Lens.Micro.TH

Methods

compare :: DefName -> DefName -> Ordering

(<) :: DefName -> DefName -> Bool

(<=) :: DefName -> DefName -> Bool

(>) :: DefName -> DefName -> Bool

(>=) :: DefName -> DefName -> Bool

max :: DefName -> DefName -> DefName

min :: DefName -> DefName -> DefName

lensClass :: Lens' LensRules (Name -> Maybe (Name, Name)) #

lensField :: Lens' LensRules (Name -> [Name] -> Name -> [DefName]) #

lensRulesFor :: [(String, String)] -> LensRules #

makeClassy :: Name -> DecsQ #

makeFields :: Name -> DecsQ #

makeLenses :: Name -> DecsQ #

makeLensesFor :: [(String, String)] -> Name -> DecsQ #

makeLensesWith :: LensRules -> Name -> DecsQ #

packed :: IsText t => Lens' String t Source #

packed lets you convert between String and Text (strict or lazy). It can be used as a replacement for pack or as a way to modify some String if you have a function like Text -> Text.

unpacked :: IsText t => Lens' t String Source #

unpacked is like packed but works in the opposite direction.

Orphan instances

Ixed Text Source # 
Instance details

Methods

ix :: Index Text -> Traversal' Text (IxValue Text) #

Ixed Text Source # 
Instance details

Methods

ix :: Index Text -> Traversal' Text (IxValue Text) #

Strict Text Text Source # 
Instance details

Methods

strict :: Lens' Text Text #

lazy :: Lens' Text Text #

Cons Text Text Char Char Source # 
Instance details

Methods

_Cons :: Traversal Text Text (Char, Text) (Char, Text)

Cons Text Text Char Char Source # 
Instance details

Methods

_Cons :: Traversal Text Text (Char, Text) (Char, Text)

(a ~ Char, b ~ Char) => Each Text Text a b Source # 
Instance details

Methods

each :: Traversal Text Text a b #

(a ~ Char, b ~ Char) => Each Text Text a b Source # 
Instance details

Methods

each :: Traversal Text Text a b #

Snoc Text Text Char Char Source # 
Instance details

Methods

_Snoc :: Traversal Text Text (Text, Char) (Text, Char)

Snoc Text Text Char Char Source # 
Instance details

Methods

_Snoc :: Traversal Text Text (Text, Char) (Text, Char)

(Eq k, Hashable k) => At (HashSet k) Source # 
Instance details

Methods

at :: Index (HashSet k) -> Lens' (HashSet k) (Maybe (IxValue (HashSet k))) #

(Eq k, Hashable k) => Ixed (HashSet k) Source # 
Instance details

Methods

ix :: Index (HashSet k) -> Traversal' (HashSet k) (IxValue (HashSet k)) #

Ixed (Vector a) Source # 
Instance details

Methods

ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) #

Prim a => Ixed (Vector a) Source # 
Instance details

Methods

ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) #

Storable a => Ixed (Vector a) Source # 
Instance details

Methods

ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) #

Unbox a => Ixed (Vector a) Source # 
Instance details

Methods

ix :: Index (Vector a) -> Traversal' (Vector a) (IxValue (Vector a)) #

Cons (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Cons :: Traversal (Vector a) (Vector b) (a, Vector a) (b, Vector b)

(Prim a, Prim b) => Cons (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Cons :: Traversal (Vector a) (Vector b) (a, Vector a) (b, Vector b)

(Storable a, Storable b) => Cons (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Cons :: Traversal (Vector a) (Vector b) (a, Vector a) (b, Vector b)

(Unbox a, Unbox b) => Cons (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Cons :: Traversal (Vector a) (Vector b) (a, Vector a) (b, Vector b)

Each (Vector a) (Vector b) a b Source # 
Instance details

Methods

each :: Traversal (Vector a) (Vector b) a b #

(Prim a, Prim b) => Each (Vector a) (Vector b) a b Source # 
Instance details

Methods

each :: Traversal (Vector a) (Vector b) a b #

(Storable a, Storable b) => Each (Vector a) (Vector b) a b Source # 
Instance details

Methods

each :: Traversal (Vector a) (Vector b) a b #

(Unbox a, Unbox b) => Each (Vector a) (Vector b) a b Source # 
Instance details

Methods

each :: Traversal (Vector a) (Vector b) a b #

Snoc (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Snoc :: Traversal (Vector a) (Vector b) (Vector a, a) (Vector b, b)

(Prim a, Prim b) => Snoc (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Snoc :: Traversal (Vector a) (Vector b) (Vector a, a) (Vector b, b)

(Storable a, Storable b) => Snoc (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Snoc :: Traversal (Vector a) (Vector b) (Vector a, a) (Vector b, b)

(Unbox a, Unbox b) => Snoc (Vector a) (Vector b) a b Source # 
Instance details

Methods

_Snoc :: Traversal (Vector a) (Vector b) (Vector a, a) (Vector b, b)

(Eq k, Hashable k) => At (HashMap k a) Source # 
Instance details

Methods

at :: Index (HashMap k a) -> Lens' (HashMap k a) (Maybe (IxValue (HashMap k a))) #

(Eq k, Hashable k) => Ixed (HashMap k a) Source # 
Instance details

Methods

ix :: Index (HashMap k a) -> Traversal' (HashMap k a) (IxValue (HashMap k a)) #

c ~ d => Each (HashMap c a) (HashMap d b) a b Source # 
Instance details

Methods

each :: Traversal (HashMap c a) (HashMap d b) a b #