cabal-version: 2.2 name: optics version: 0.4.2.1 license: BSD-3-Clause license-file: LICENSE build-type: Simple maintainer: optics@well-typed.com author: Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus 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.5 || ==9.6.2, GHCJS ==8.4 synopsis: Optics as an abstract interface category: Data, Optics, Lenses description: 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 @@ package and other @optics-*@ dependencies if you need a more limited dependency footprint. extra-doc-files: diagrams/*.png CHANGELOG.md bug-reports: https://github.com/well-typed/optics/issues source-repository head type: git location: https://github.com/well-typed/optics.git subdir: optics common language ghc-options: -Wall -Wcompat default-language: Haskell2010 default-extensions: BangPatterns ConstraintKinds DefaultSignatures DeriveFoldable DeriveFunctor DeriveGeneric DeriveTraversable EmptyCase FlexibleContexts FlexibleInstances FunctionalDependencies GADTs GeneralizedNewtypeDeriving InstanceSigs KindSignatures LambdaCase OverloadedLabels PatternSynonyms RankNTypes ScopedTypeVariables TupleSections TypeApplications TypeFamilies TypeOperators ViewPatterns library import: language hs-source-dirs: src build-depends: base >= 4.10 && <5 , array >= 0.5.2.0 && <0.6 , containers >= 0.5.10.2 && <0.7 , 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 -- main module to land with repl exposed-modules: Optics -- main optic type reexported-modules: Optics.Optic -- optic flavours reexported-modules: Optics.AffineFold , Optics.AffineTraversal , Optics.Fold , Optics.Getter , Optics.Iso , Optics.IxAffineFold , Optics.IxAffineTraversal , Optics.IxFold , Optics.IxGetter , Optics.IxLens , Optics.IxSetter , Optics.IxTraversal , Optics.Lens , Optics.Prism , Optics.ReversedLens , Optics.ReversedPrism , Optics.Review , Optics.Setter , Optics.Traversal -- optics utilities reexported-modules: Optics.Arrow , Optics.At , Optics.Coerce , Optics.Cons , Optics.Each , Optics.Empty , Optics.Generic , Optics.Indexed , Optics.Label , Optics.Mapping , Optics.Operators , Optics.Operators.Unsafe , Optics.Passthrough , Optics.Re , Optics.ReadOnly , Optics.State , Optics.State.Operators , Optics.View , Optics.Zoom -- template haskell support reexported-modules: Optics.TH -- data specific optics reexported-modules: Data.ByteString.Lazy.Optics , Data.ByteString.Optics , Data.ByteString.Strict.Optics , Data.Either.Optics , Data.HashMap.Optics , Data.HashSet.Optics , Data.IntMap.Optics , Data.IntSet.Optics , Data.List.Optics , Data.Map.Optics , Data.Maybe.Optics , Data.Sequence.Optics , Data.Set.Optics , Data.Text.Lazy.Optics , Data.Text.Optics , Data.Text.Strict.Optics , Data.Tree.Optics , Data.Tuple.Optics , Data.Typeable.Optics , Data.Vector.Generic.Optics , Data.Vector.Optics , GHC.Generics.Optics , Numeric.Optics test-suite optics-tests import: language hs-source-dirs: tests -- inspection-testing doesn't compile with GHCJS if impl(ghcjs) buildable: False build-depends: base , containers , indexed-profunctors >= 0.1 && <0.2 , inspection-testing >= 0.5 && <0.6 , mtl , optics , optics-core , QuickCheck , random , tasty , tasty-hunit , tasty-quickcheck , template-haskell type: exitcode-stdio-1.0 main-is: Optics/Tests.hs other-modules: Optics.Tests.Computation Optics.Tests.Core Optics.Tests.Eta Optics.Tests.Labels.Generic Optics.Tests.Labels.TH Optics.Tests.Misc Optics.Tests.Properties Optics.Tests.Utils -- Benchmarking folds benchmark folds import: language hs-source-dirs: benchmarks -- GHCJS takes forever to compile dependencies if impl(ghcjs) buildable: False build-depends: base , bytestring , containers , lens , optics , tasty-bench , unordered-containers , vector type: exitcode-stdio-1.0 main-is: folds.hs -- Benchmarking traversals benchmark traversals import: language hs-source-dirs: benchmarks -- GHCJS takes forever to compile dependencies if impl(ghcjs) buildable: False build-depends: base , bytestring , containers , lens , optics , tasty-bench , transformers , unordered-containers , vector type: exitcode-stdio-1.0 main-is: traversals.hs