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

-- | microlens + array, bytestring, containers, transformers
--   
--   Use this package instead of microlens if you don't mind
--   depending on all dependencies here – Lens.Micro.GHC reexports
--   everything from Lens.Micro and additionally provides orphan
--   instances of microlens classes for packages coming with GHC
--   (array, bytestring, containers,
--   transformers).
--   
--   The minor and major versions of microlens-ghc are incremented whenever
--   the minor and major versions of microlens are incremented, so you can
--   depend on the exact version of microlens-ghc without specifying the
--   version of microlens you need.
--   
--   This package is a part of the microlens family; see the readme
--   on Github.
@package microlens-ghc
@version 0.4.15.1

module Lens.Micro.GHC.Internal
class IsByteString t

-- | Treat a list of bytes as a strict or lazy ByteString.
packedBytes :: IsByteString t => Lens' [Word8] t

-- | Treat a strict or lazy ByteString as a list of bytes.
unpackedBytes :: IsByteString t => Lens' t [Word8]

-- | Treat a String as a strict or lazy ByteString. (Note
--   that it will garble characters above 0xFF, same as pack does.)
packedChars :: IsByteString t => Lens' String t

-- | Treat a strict or lazy ByteString as a String. (Just
--   as packedChars, it will garble characters above 0xFF.)
unpackedChars :: IsByteString t => Lens' t String

-- | Traverse characters in a strict or lazy ByteString (to
--   traverse bytes instead of characters, use each).
chars :: IsByteString t => Traversal' t Char
unpackStrict :: ByteString -> [Word8]
unpackStrict8 :: ByteString -> String
unpackLazy :: ByteString -> [Word8]
unpackLazy8 :: ByteString -> String
fromStrict :: ByteString -> ByteString
toStrict :: ByteString -> ByteString
traversedStrictTree :: Traversal' ByteString Word8
traversedStrictTree8 :: Traversal' ByteString Char
traversedLazy :: Traversal' ByteString Word8
traversedLazy8 :: Traversal' ByteString Char
instance Lens.Micro.GHC.Internal.IsByteString Data.ByteString.Lazy.Internal.ByteString
instance Lens.Micro.GHC.Internal.IsByteString Data.ByteString.Internal.Type.ByteString

-- | By importing this module you get all functions and types from
--   microlens, as well as the following instances:
--   
--   
--   
- at for Map, Set, IntMap and
--   IntSet
--   
- ix for

- Map, Set, IntMap and
--   IntSet
- Array and
--   UArray
- Seq
- strict ByteString and
--   lazy ByteString
- Tree

--   
- each for the same as above, excluding Set and
--   IntSet
--   
- _head, _tail, _init, _last
--   for

- Seq
- strict and lazy
--   bytestrings

--   
- strict and lazy
--   for

- bytestrings
- StateT, WriterT,
--   RWST

--   
module Lens.Micro.GHC

-- | Treat a list of bytes as a strict or lazy ByteString.
packedBytes :: IsByteString t => Lens' [Word8] t

-- | Treat a strict or lazy ByteString as a list of bytes.
unpackedBytes :: IsByteString t => Lens' t [Word8]

-- | Treat a String as a strict or lazy ByteString. (Note
--   that it will garble characters above 0xFF, same as pack does.)
packedChars :: IsByteString t => Lens' String t

-- | Treat a strict or lazy ByteString as a String. (Just
--   as packedChars, it will garble characters above 0xFF.)
unpackedChars :: IsByteString t => Lens' t String

-- | Traverse characters in a strict or lazy ByteString (to
--   traverse bytes instead of characters, use each).
chars :: IsByteString t => Traversal' t Char
instance Lens.Micro.Internal.At (Data.IntMap.Internal.IntMap a)
instance Lens.Micro.Internal.At Data.IntSet.Internal.IntSet
instance GHC.Classes.Ord k => Lens.Micro.Internal.At (Data.Map.Internal.Map k a)
instance GHC.Classes.Ord k => Lens.Micro.Internal.At (Data.Set.Internal.Set k)
instance Lens.Micro.Internal.Cons Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString GHC.Internal.Word.Word8 GHC.Internal.Word.Word8
instance Lens.Micro.Internal.Cons Data.ByteString.Internal.Type.ByteString Data.ByteString.Internal.Type.ByteString GHC.Internal.Word.Word8 GHC.Internal.Word.Word8
instance Lens.Micro.Internal.Cons (Data.Sequence.Internal.Seq a) (Data.Sequence.Internal.Seq b) a b
instance (GHC.Internal.Ix.Ix i, i GHC.Types.~ j) => Lens.Micro.Internal.Each (GHC.Internal.Arr.Array i a) (GHC.Internal.Arr.Array j b) a b
instance (a GHC.Types.~ GHC.Internal.Word.Word8, b GHC.Types.~ GHC.Internal.Word.Word8) => Lens.Micro.Internal.Each Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString a b
instance (a GHC.Types.~ GHC.Internal.Word.Word8, b GHC.Types.~ GHC.Internal.Word.Word8) => Lens.Micro.Internal.Each Data.ByteString.Internal.Type.ByteString Data.ByteString.Internal.Type.ByteString a b
instance Lens.Micro.Internal.Each (Data.IntMap.Internal.IntMap a) (Data.IntMap.Internal.IntMap b) a b
instance (c GHC.Types.~ d) => Lens.Micro.Internal.Each (Data.Map.Internal.Map c a) (Data.Map.Internal.Map d b) a b
instance Lens.Micro.Internal.Each (Data.Sequence.Internal.Seq a) (Data.Sequence.Internal.Seq b) a b
instance Lens.Micro.Internal.Each (Data.Tree.Tree a) (Data.Tree.Tree b) a b
instance (GHC.Internal.Ix.Ix i, Data.Array.Base.IArray Data.Array.Base.UArray a, Data.Array.Base.IArray Data.Array.Base.UArray b, i GHC.Types.~ j) => Lens.Micro.Internal.Each (Data.Array.Base.UArray i a) (Data.Array.Base.UArray j b) a b
instance GHC.Internal.Ix.Ix i => Lens.Micro.Internal.Ixed (GHC.Internal.Arr.Array i e)
instance Lens.Micro.Internal.Ixed Data.ByteString.Lazy.Internal.ByteString
instance Lens.Micro.Internal.Ixed Data.ByteString.Internal.Type.ByteString
instance Lens.Micro.Internal.Ixed (Data.IntMap.Internal.IntMap a)
instance Lens.Micro.Internal.Ixed Data.IntSet.Internal.IntSet
instance GHC.Classes.Ord k => Lens.Micro.Internal.Ixed (Data.Map.Internal.Map k a)
instance Lens.Micro.Internal.Ixed (Data.Sequence.Internal.Seq a)
instance GHC.Classes.Ord k => Lens.Micro.Internal.Ixed (Data.Set.Internal.Set k)
instance Lens.Micro.Internal.Ixed (Data.Tree.Tree a)
instance (Data.Array.Base.IArray Data.Array.Base.UArray e, GHC.Internal.Ix.Ix i) => Lens.Micro.Internal.Ixed (Data.Array.Base.UArray i e)
instance Lens.Micro.Internal.Snoc Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString GHC.Internal.Word.Word8 GHC.Internal.Word.Word8
instance Lens.Micro.Internal.Snoc Data.ByteString.Internal.Type.ByteString Data.ByteString.Internal.Type.ByteString GHC.Internal.Word.Word8 GHC.Internal.Word.Word8
instance Lens.Micro.Internal.Snoc (Data.Sequence.Internal.Seq a) (Data.Sequence.Internal.Seq b) a b
instance Lens.Micro.Internal.Strict Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Internal.Type.ByteString
instance Lens.Micro.Internal.Strict (Control.Monad.Trans.RWS.Lazy.RWST r w s m a) (Control.Monad.Trans.RWS.Strict.RWST r w s m a)
instance Lens.Micro.Internal.Strict (Control.Monad.Trans.State.Lazy.StateT s m a) (Control.Monad.Trans.State.Strict.StateT s m a)
instance Lens.Micro.Internal.Strict (Control.Monad.Trans.Writer.Lazy.WriterT w m a) (Control.Monad.Trans.Writer.Strict.WriterT w m a)
