optics: Optics as an abstract interface

[ bsd3, data, lenses, library, optics ] [ Propose Tags ]

This package makes it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface. See the main module Optics for the documentation.

This is the "batteries-included" variant with many dependencies; see the optics-core package and other optics-* dependencies if you need a more limited dependency footprint.

Note: Hackage does not yet display documentation for reexported-modules, but you can start from the Optics module documentation or see the module list in optics-core.

Modules

[Index] [Quick Jump]

  • Data
    • ByteString
      • Lazy
        • Data.ByteString.Lazy.Optics
      • Data.ByteString.Optics
      • Strict
        • Data.ByteString.Strict.Optics
    • Either
      • Data.Either.Optics
    • HashMap
      • Data.HashMap.Optics
    • HashSet
      • Data.HashSet.Optics
    • IntMap
      • Data.IntMap.Optics
    • IntSet
      • Data.IntSet.Optics
    • List
      • Data.List.Optics
    • Map
      • Data.Map.Optics
    • Maybe
      • Data.Maybe.Optics
    • Sequence
      • Data.Sequence.Optics
    • Set
      • Data.Set.Optics
    • Text
      • Lazy
        • Data.Text.Lazy.Optics
      • Data.Text.Optics
      • Strict
        • Data.Text.Strict.Optics
    • Tree
      • Data.Tree.Optics
    • Tuple
      • Data.Tuple.Optics
    • Typeable
      • Data.Typeable.Optics
    • Vector
      • Generic
        • Data.Vector.Generic.Optics
      • Data.Vector.Optics
  • GHC
    • Generics
      • GHC.Generics.Optics
  • Numeric
    • Numeric.Optics
  • Optics
    • Optics.AffineFold
    • Optics.AffineTraversal
    • Optics.Arrow
    • Optics.At
    • Optics.Coerce
    • Optics.Cons
    • Optics.Each
    • Optics.Empty
    • Optics.Fold
    • Optics.Getter
    • Optics.Indexed
    • Optics.Iso
    • Optics.IxAffineFold
    • Optics.IxAffineTraversal
    • Optics.IxFold
    • Optics.IxGetter
    • Optics.IxLens
    • Optics.IxSetter
    • Optics.IxTraversal
    • Optics.Label
    • Optics.Lens
    • Optics.Operators
    • Optics.Optic
    • Optics.Passthrough
    • Optics.Prism
    • Optics.Re
    • Optics.ReadOnly
    • Optics.ReversedLens
    • Optics.ReversedPrism
    • Optics.Review
    • Optics.Setter
    • Optics.State
      • Optics.State.Operators
    • Optics.TH
    • Optics.Traversal
    • Optics.View
    • Optics.Zoom

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.2, 0.3, 0.4, 0.4.1, 0.4.2, 0.4.2.1
Change log CHANGELOG.md
Dependencies array (>=0.5.1.1 && <0.6), base (>=4.9 && <5), containers (>=0.5.7.1 && <0.7), mtl (>=2.2.2 && <2.3), optics-core (>=0.2 && <0.2.1), optics-extra (>=0.2 && <0.2.1), optics-th (>=0.2 && <0.2.1), transformers (>=0.5 && <0.6) [details]
License BSD-3-Clause
Author Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
Maintainer optics@well-typed.com
Category Data, Optics, Lenses
Bug tracker https://github.com/well-typed/optics/issues
Source repo head: git clone https://github.com/well-typed/optics.git(optics)
Uploaded by AdamGundry at 2019-10-18T21:21:14Z
Distributions LTSHaskell:0.4.2.1, NixOS:0.4.2.1, Stackage:0.4.2.1
Reverse Dependencies 12 direct, 23 indirect [details]
Downloads 6499 total (85 in the last 30 days)
Rating 2.5 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2019-10-18 [all 1 reports]