-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | This package exports a module which is the recommended starting point
--   for using <a>microlens</a> if you aren't trying to keep your
--   dependencies minimal. By importing <tt>Lens.Micro.Platform</tt> you
--   get all functions and instances from <a>microlens</a>,
--   <a>microlens-th</a>, <a>microlens-mtl</a>, <a>microlens-ghc</a>, as
--   well as instances for <tt>Vector</tt>, <tt>Text</tt>, and
--   <tt>HashMap</tt>.
--   
--   The minor and major versions of microlens-platform are incremented
--   whenever the minor and major versions of any other microlens package
--   are incremented, so you can depend on the exact version of
--   microlens-platform without specifying the version of microlens
--   (microlens-mtl, etc) you need.
--   
--   This package is a part of the <a>microlens</a> family; see the readme
--   <a>on Github</a>.
@package microlens-platform
@version 0.4.4.2


module Lens.Micro.Platform.Internal
class IsText t

-- | <a>packed</a> lets you convert between <a>String</a> and <tt>Text</tt>
--   (strict or lazy). It can be used as a replacement for <tt>pack</tt> or
--   as a way to modify some <a>String</a> if you have a function like
--   <tt>Text -&gt; Text</tt>.
packed :: IsText t => Lens' String t

-- | <a>unpacked</a> is like <a>packed</a> but works in the opposite
--   direction.
unpacked :: IsText t => Lens' t String
instance Lens.Micro.Platform.Internal.IsText GHC.Internal.Base.String
instance Lens.Micro.Platform.Internal.IsText Data.Text.Internal.Lazy.Text
instance Lens.Micro.Platform.Internal.IsText Data.Text.Internal.Text


-- | This module is an approximation for <tt><a>Control.Lens</a></tt> from
--   <a>lens</a>; by importing it you get all functions and instances from
--   <a>microlens</a>, <a>microlens-mtl</a>, <a>microlens-ghc</a>, as well
--   as the following instances:
--   
--   <ul>
--   <li><a>at</a> for <a>HashMap</a></li>
--   <li><a>each</a> and <a>ix</a>
--   for<ul><li><a>HashMap</a></li><li><a>Vector</a> and variants (unboxed
--   vectors, etc)</li><li>strict <a>Text</a> and lazy
--   <a>Text</a></li></ul></li>
--   <li><a>_head</a>, <a>_tail</a>, <a>_init</a>, <a>_last</a>
--   for<ul><li><a>Vector</a> and variants</li><li>strict and lazy
--   <tt>Text</tt></li></ul></li>
--   <li><a>strict</a> and <a>lazy</a> for <tt>Text</tt></li>
--   </ul>
module Lens.Micro.Platform
(&) :: a -> (a -> b) -> b
(<&>) :: Functor f => f a -> (a -> b) -> f b
(%~) :: 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
_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'
failing :: Traversal s t a b -> Traversal s t a b -> Traversal s 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
foldMapOf :: Getting r s a -> (a -> r) -> s -> r
folded :: forall (f :: Type -> Type) a. Foldable f => SimpleFold (f a) a
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
class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s
_1 :: Field1 s t a b => Lens s t a b
class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s
_2 :: Field2 s t a b => Lens s t a b
class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s
_3 :: Field3 s t a b => Lens s t a b
class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s
_4 :: Field4 s t a b => Lens s t a b
class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s
_5 :: Field5 s t a b => Lens s t a b
class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s
_6 :: Field6 s t a b => Lens s t a b
class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s
_7 :: Field7 s t a b => Lens s t a b
class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s
_8 :: Field8 s t a b => Lens s t a b
class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s
_9 :: Field9 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
ix :: Ixed m => Index m -> Traversal' m (IxValue m)
lazy :: Strict lazy strict => Lens' strict lazy
strict :: Strict lazy strict => Lens' lazy strict
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 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
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
(&) :: a -> (a -> b) -> b
(<&>) :: Functor f => f a -> (a -> b) -> f b
(%~) :: 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
_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'
failing :: Traversal s t a b -> Traversal s t a b -> Traversal s 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
foldMapOf :: Getting r s a -> (a -> r) -> s -> r
folded :: forall (f :: Type -> Type) a. Foldable f => SimpleFold (f a) a
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
class Field1 s t a b | s -> a, t -> b, s b -> t, t a -> s
_1 :: Field1 s t a b => Lens s t a b
class Field2 s t a b | s -> a, t -> b, s b -> t, t a -> s
_2 :: Field2 s t a b => Lens s t a b
class Field3 s t a b | s -> a, t -> b, s b -> t, t a -> s
_3 :: Field3 s t a b => Lens s t a b
class Field4 s t a b | s -> a, t -> b, s b -> t, t a -> s
_4 :: Field4 s t a b => Lens s t a b
class Field5 s t a b | s -> a, t -> b, s b -> t, t a -> s
_5 :: Field5 s t a b => Lens s t a b
class Field6 s t a b | s -> a, t -> b, s b -> t, t a -> s
_6 :: Field6 s t a b => Lens s t a b
class Field7 s t a b | s -> a, t -> b, s b -> t, t a -> s
_7 :: Field7 s t a b => Lens s t a b
class Field8 s t a b | s -> a, t -> b, s b -> t, t a -> s
_8 :: Field8 s t a b => Lens s t a b
class Field9 s t a b | s -> a, t -> b, s b -> t, t a -> s
_9 :: Field9 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
ix :: Ixed m => Index m -> Traversal' m (IxValue m)
lazy :: Strict lazy strict => Lens' strict lazy
strict :: Strict lazy strict => Lens' lazy strict
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 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
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
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
(%=) :: 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
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
type family Zoomed (m :: Type -> Type) :: Type -> Type -> Type
abbreviatedFields :: LensRules
camelCaseFields :: LensRules
classyRules :: LensRules
createClass :: Lens' LensRules Bool
generateLazyPatterns :: Lens' LensRules Bool
generateSignatures :: Lens' LensRules Bool
generateUpdateableOptics :: Lens' LensRules Bool
lensClass :: Lens' LensRules (Name -> Maybe (Name, Name))
lensField :: Lens' LensRules (Name -> [Name] -> Name -> [DefName])
lensRules :: LensRules
lensRulesFor :: [(String, String)] -> LensRules
makeClassy :: Name -> DecsQ
makeFields :: Name -> DecsQ
makeLenses :: Name -> DecsQ
makeLensesFor :: [(String, String)] -> Name -> DecsQ
makeLensesWith :: LensRules -> Name -> DecsQ
simpleLenses :: Lens' LensRules Bool
data DefName
TopName :: Name -> DefName
MethodName :: Name -> Name -> DefName
data LensRules

-- | <a>packed</a> lets you convert between <a>String</a> and <tt>Text</tt>
--   (strict or lazy). It can be used as a replacement for <tt>pack</tt> or
--   as a way to modify some <a>String</a> if you have a function like
--   <tt>Text -&gt; Text</tt>.
packed :: IsText t => Lens' String t

-- | <a>unpacked</a> is like <a>packed</a> but works in the opposite
--   direction.
unpacked :: IsText t => Lens' t String
instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Lens.Micro.Internal.At (Data.HashMap.Internal.HashMap k a)
instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Lens.Micro.Internal.At (Data.HashSet.Internal.HashSet k)
instance Lens.Micro.Internal.Cons Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text GHC.Types.Char GHC.Types.Char
instance Lens.Micro.Internal.Cons Data.Text.Internal.Text Data.Text.Internal.Text GHC.Types.Char GHC.Types.Char
instance (Data.Vector.Unboxed.Base.Unbox a, Data.Vector.Unboxed.Base.Unbox b) => Lens.Micro.Internal.Cons (Data.Vector.Unboxed.Base.Vector a) (Data.Vector.Unboxed.Base.Vector b) a b
instance (GHC.Internal.Foreign.Storable.Storable a, GHC.Internal.Foreign.Storable.Storable b) => Lens.Micro.Internal.Cons (Data.Vector.Storable.Vector a) (Data.Vector.Storable.Vector b) a b
instance (Data.Primitive.Types.Prim a, Data.Primitive.Types.Prim b) => Lens.Micro.Internal.Cons (Data.Vector.Primitive.Vector a) (Data.Vector.Primitive.Vector b) a b
instance Lens.Micro.Internal.Cons (Data.Vector.Vector a) (Data.Vector.Vector b) a b
instance (c GHC.Types.~ d) => Lens.Micro.Internal.Each (Data.HashMap.Internal.HashMap c a) (Data.HashMap.Internal.HashMap d b) a b
instance (a GHC.Types.~ GHC.Types.Char, b GHC.Types.~ GHC.Types.Char) => Lens.Micro.Internal.Each Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text a b
instance (a GHC.Types.~ GHC.Types.Char, b GHC.Types.~ GHC.Types.Char) => Lens.Micro.Internal.Each Data.Text.Internal.Text Data.Text.Internal.Text a b
instance (Data.Vector.Unboxed.Base.Unbox a, Data.Vector.Unboxed.Base.Unbox b) => Lens.Micro.Internal.Each (Data.Vector.Unboxed.Base.Vector a) (Data.Vector.Unboxed.Base.Vector b) a b
instance (GHC.Internal.Foreign.Storable.Storable a, GHC.Internal.Foreign.Storable.Storable b) => Lens.Micro.Internal.Each (Data.Vector.Storable.Vector a) (Data.Vector.Storable.Vector b) a b
instance (Data.Primitive.Types.Prim a, Data.Primitive.Types.Prim b) => Lens.Micro.Internal.Each (Data.Vector.Primitive.Vector a) (Data.Vector.Primitive.Vector b) a b
instance Lens.Micro.Internal.Each (Data.Vector.Vector a) (Data.Vector.Vector b) a b
instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Lens.Micro.Internal.Ixed (Data.HashMap.Internal.HashMap k a)
instance (GHC.Classes.Eq k, Data.Hashable.Class.Hashable k) => Lens.Micro.Internal.Ixed (Data.HashSet.Internal.HashSet k)
instance Lens.Micro.Internal.Ixed Data.Text.Internal.Lazy.Text
instance Lens.Micro.Internal.Ixed Data.Text.Internal.Text
instance Data.Vector.Unboxed.Base.Unbox a => Lens.Micro.Internal.Ixed (Data.Vector.Unboxed.Base.Vector a)
instance GHC.Internal.Foreign.Storable.Storable a => Lens.Micro.Internal.Ixed (Data.Vector.Storable.Vector a)
instance Data.Primitive.Types.Prim a => Lens.Micro.Internal.Ixed (Data.Vector.Primitive.Vector a)
instance Lens.Micro.Internal.Ixed (Data.Vector.Vector a)
instance Lens.Micro.Internal.Snoc Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text GHC.Types.Char GHC.Types.Char
instance Lens.Micro.Internal.Snoc Data.Text.Internal.Text Data.Text.Internal.Text GHC.Types.Char GHC.Types.Char
instance (Data.Vector.Unboxed.Base.Unbox a, Data.Vector.Unboxed.Base.Unbox b) => Lens.Micro.Internal.Snoc (Data.Vector.Unboxed.Base.Vector a) (Data.Vector.Unboxed.Base.Vector b) a b
instance (GHC.Internal.Foreign.Storable.Storable a, GHC.Internal.Foreign.Storable.Storable b) => Lens.Micro.Internal.Snoc (Data.Vector.Storable.Vector a) (Data.Vector.Storable.Vector b) a b
instance (Data.Primitive.Types.Prim a, Data.Primitive.Types.Prim b) => Lens.Micro.Internal.Snoc (Data.Vector.Primitive.Vector a) (Data.Vector.Primitive.Vector b) a b
instance Lens.Micro.Internal.Snoc (Data.Vector.Vector a) (Data.Vector.Vector b) a b
instance Lens.Micro.Internal.Strict Data.Text.Internal.Lazy.Text Data.Text.Internal.Text
