Lens.Micro.GHC

microlens-ghc-0.4.14.3: microlens + array, bytestring, containers, transformers

Copyright | (C) 2013-2016 Edward Kmett 2015-2016 Artyom Kazak 2018 Monadfix
License | BSD-style (see the file LICENSE)
Safe Haskell | Trustworthy
Language | Haskell2010

Lens.Micro.GHC

Contents

- Orphan instances

Description

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`

Synopsis

- module Lens.Micro
- packedBytes :: IsByteString t => Lens' [Word8] t
- unpackedBytes :: IsByteString t => Lens' t [Word8]
- packedChars :: IsByteString t => Lens' String t
- unpackedChars :: IsByteString t => Lens' t String
- chars :: IsByteString t => Traversal' t Char

# Documentation

module Lens.Micro

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

Treat a list of bytes as a strict or lazy `ByteString`.

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

Treat a strict or lazy `ByteString` as a list of bytes.

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

Treat a `String` as a strict or lazy `ByteString`. (Note that it will garble characters above 0xFF, same as `pack` does.)

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

Treat a strict or lazy `ByteString` as a `String`. (Just as `packedChars`, it will garble characters above 0xFF.)

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

Traverse characters in a strict or lazy `ByteString` (to traverse bytes instead of characters, use `each`).

# Orphan instances

At IntSet # |
Instance details Methods at :: Index IntSet -> Lens' IntSet (Maybe (IxValue IntSet)) #
Ixed ByteString # |
Instance details Methods ix :: Index ByteString -> Traversal' ByteString (IxValue ByteString) #
Ixed ByteString # |
Instance details Methods ix :: Index ByteString -> Traversal' ByteString (IxValue ByteString) #
Ixed IntSet # |
Instance details Methods ix :: Index IntSet -> Traversal' IntSet (IxValue IntSet) #
Strict ByteString ByteString # |
Instance details Methods strict :: Lens' ByteString ByteString # lazy :: Lens' ByteString ByteString #
Cons ByteString ByteString Word8 Word8 # |
Instance details Methods _Cons :: Traversal ByteString ByteString (Word8, ByteString) (Word8, ByteString) #
Cons ByteString ByteString Word8 Word8 # |
Instance details Methods _Cons :: Traversal ByteString ByteString (Word8, ByteString) (Word8, ByteString) #
(a ~ Word8, b ~ Word8) => Each ByteString ByteString a b # |
Instance details Methods each :: Traversal ByteString ByteString a b #
(a ~ Word8, b ~ Word8) => Each ByteString ByteString a b # |
Instance details Methods each :: Traversal ByteString ByteString a b #
Snoc ByteString ByteString Word8 Word8 # |
Instance details Methods _Snoc :: Traversal ByteString ByteString (ByteString, Word8) (ByteString, Word8) #
Snoc ByteString ByteString Word8 Word8 # |
Instance details Methods _Snoc :: Traversal ByteString ByteString (ByteString, Word8) (ByteString, Word8) #
At (IntMap a) # |
Instance details Methods at :: Index (IntMap a) -> Lens' (IntMap a) (Maybe (IxValue (IntMap a))) #
Ord k => At (Set k) # |
Instance details Methods at :: Index (Set k) -> Lens' (Set k) (Maybe (IxValue (Set k))) #
Ixed (IntMap a) # |
Instance details Methods ix :: Index (IntMap a) -> Traversal' (IntMap a) (IxValue (IntMap a)) #
Ixed (Seq a) # |
Instance details Methods ix :: Index (Seq a) -> Traversal' (Seq a) (IxValue (Seq a)) #
Ord k => Ixed (Set k) # |
Instance details Methods ix :: Index (Set k) -> Traversal' (Set k) (IxValue (Set k)) #
Ixed (Tree a) # |
Instance details Methods ix :: Index (Tree a) -> Traversal' (Tree a) (IxValue (Tree a)) #
Cons (Seq a) (Seq b) a b # |
Instance details Methods _Cons :: Traversal (Seq a) (Seq b) (a, Seq a) (b, Seq b) #
Each (IntMap a) (IntMap b) a b # |
Instance details Methods each :: Traversal (IntMap a) (IntMap b) a b #
Each (Seq a) (Seq b) a b # |
Instance details Methods each :: Traversal (Seq a) (Seq b) a b #
Each (Tree a) (Tree b) a b # |
Instance details Methods each :: Traversal (Tree a) (Tree b) a b #
Snoc (Seq a) (Seq b) a b # |
Instance details Methods _Snoc :: Traversal (Seq a) (Seq b) (Seq a, a) (Seq b, b) #
Ord k => At (Map k a) # |
Instance details Methods at :: Index (Map k a) -> Lens' (Map k a) (Maybe (IxValue (Map k a))) #
(IArray UArray e, Ix i) => Ixed (UArray i e) # |
Instance details Methods ix :: Index (UArray i e) -> Traversal' (UArray i e) (IxValue (UArray i e)) #
Ord k => Ixed (Map k a) # |
Instance details Methods ix :: Index (Map k a) -> Traversal' (Map k a) (IxValue (Map k a)) #
Ix i => Ixed (Array i e) # |
Instance details Methods ix :: Index (Array i e) -> Traversal' (Array i e) (IxValue (Array i e)) #
(Ix i, IArray UArray a, IArray UArray b, i ~ j) => Each (UArray i a) (UArray j b) a b # |
Instance details Methods each :: Traversal (UArray i a) (UArray j b) a b #
c ~ d => Each (Map c a) (Map d b) a b # |
Instance details Methods each :: Traversal (Map c a) (Map d b) a b #
(Ix i, i ~ j) => Each (Array i a) (Array j b) a b # |
Instance details Methods each :: Traversal (Array i a) (Array j b) a b #
Strict (StateT s m a) (StateT s m a) # |
Instance details Methods strict :: Lens' (StateT s m a) (StateT s m a) # lazy :: Lens' (StateT s m a) (StateT s m a) #
Strict (WriterT w m a) (WriterT w m a) # |
Instance details Methods strict :: Lens' (WriterT w m a) (WriterT w m a) # lazy :: Lens' (WriterT w m a) (WriterT w m a) #
Strict (RWST r w s m a) (RWST r w s m a) # |
Instance details Methods strict :: Lens' (RWST r w s m a) (RWST r w s m a) # lazy :: Lens' (RWST r w s m a) (RWST r w s m a) #