optics: Optics as an abstract interface

[ bsd3, data, lenses, library, optics ] [ Propose Tags ] [ Report a vulnerability ]

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.

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.Generic
    • 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.Mapping
    • Optics.Operators
      • Optics.Operators.Unsafe
    • 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

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

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.2.0 && <0.6), base (>=4.10 && <5), containers (>=0.5.10.2 && <0.8), mtl (>=2.2.2 && <2.4), optics-core (>=0.4.1 && <0.4.2), optics-extra (>=0.4.2 && <0.4.3), optics-th (>=0.4.1 && <0.4.2), transformers (>=0.5 && <0.7) [details]
Tested with ghc ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1, ghcjs ==8.4
License BSD-3-Clause
Author Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
Maintainer optics@well-typed.com
Revised Revision 1 made by phadej at 2024-05-13T18:09:09Z
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 arybczak at 2023-06-22T21:13:02Z
Distributions LTSHaskell:0.4.2.1, NixOS:0.4.2.1, Stackage:0.4.2.1
Reverse Dependencies 18 direct, 26 indirect [details]
Downloads 7150 total (104 in the last 30 days)
Rating 2.5 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
All reported builds failed as of 2023-06-22 [all 1 reports]