cabal-version: >= 1.10 name: profunctor-optics version: 0.0.0.4 synopsis: An optics library compatible with the typeclasses in 'profunctors'. description: This package provides utilities for creating and manipulating profunctor-based optics. Some highlights: . Full complement of isos, prisms, lenses, grates, affines, traversals, cotraversals, views, setters, folds, and more. . Composable indexed or co-indexed variants of most of the above. . Compact & straight-forward implementation. No inscrutable internal modules, lawless or otherwise ancillary typeclasses, or heavy type-level machinery. . Fully interoperable. All that is required to create optics (standard, indexable, or co-indexable) is the `profunctors` package. Optics compose with (.) from `Prelude` as is typical. If you want to provide profunctor optics for your own types in your own libraries, you can do so without incurring a dependency on this package. Conversions to & from the Van Laarhoven representations are provided for each optic type. . Well-documented properties and exportable predicates for testing your own optics. . See the file for more information. category: Data, Lenses, Profunctors stability: Experimental homepage: https://github.com/cmk/profunctor-optics bug-reports: https://github.com/cmk/profunctor-optics/issues author: Chris McKinlay maintainer: Chris McKinlay copyright: 2019 Chris McKinlay license: BSD3 license-file: LICENSE build-type: Simple tested-with: GHC == 8.6.3 extra-source-files: ChangeLog.md source-repository head type: git location: https://github.com/cmk/profunctor-optics library exposed-modules: Control.Exception.Optic Data.Either.Optic Data.Tuple.Optic Data.Connection.Optic Data.Connection.Optic.Int Data.Connection.Optic.Word Data.Connection.Optic.Float Data.Profunctor.Optic Data.Profunctor.Optic.Types Data.Profunctor.Optic.Property Data.Profunctor.Optic.Carrier Data.Profunctor.Optic.Operator Data.Profunctor.Optic.Index Data.Profunctor.Optic.Iso Data.Profunctor.Optic.Prism Data.Profunctor.Optic.Lens Data.Profunctor.Optic.Grate Data.Profunctor.Optic.Affine Data.Profunctor.Optic.Option Data.Profunctor.Optic.Traversal Data.Profunctor.Optic.Fold Data.Profunctor.Optic.Cotraversal Data.Profunctor.Optic.Setter Data.Profunctor.Optic.View Data.Profunctor.Optic.Zoom Data.Profunctor.Optic.Prelude other-modules: Data.Profunctor.Optic.Import default-language: Haskell2010 hs-source-dirs: src default-extensions: ConstraintKinds RankNTypes MultiParamTypeClasses OverloadedStrings FlexibleContexts FlexibleInstances ExistentialQuantification NoImplicitPrelude QuantifiedConstraints ScopedTypeVariables TupleSections TypeOperators TypeApplications TypeFamilies ghc-options: -Wall -Wincomplete-uni-patterns -Wincomplete-record-updates build-depends: base >= 4.9 && < 5.0 , comonad >= 4 && < 6 , connections >= 0.0.2.1 && < 0.1 , distributive >= 0.3 && < 1 , mtl >= 2.0.1 && < 2.3 , newtype-generics >= 0.5.3 && < 0.6 , profunctor-arrows >= 0.0.0.2 && < 0.0.1 , profunctors >= 5.4 && < 6 , rings >= 0.0.2.1 && < 0.1 , semigroupoids >= 5 && < 6 , tagged >= 0.4.4 && < 1 , transformers >= 0.5 && < 0.6 , unliftio-core >= 0.1.2 && < 0.2 , adjunctions >= 4.4 && < 5.0 test-suite test type: exitcode-stdio-1.0 main-is: test.hs ghc-options: -Wall -threaded hs-source-dirs: test default-language: Haskell2010 other-modules: Test.Data.Connection.Optic.Int build-depends: base == 4.* , connections , profunctor-optics , hedgehog default-extensions: ScopedTypeVariables, TypeApplications ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall executable doctest main-is: doctest.hs ghc-options: -Wall -threaded hs-source-dirs: test default-language: Haskell2010 x-doctest-options: --fast build-depends: base , adjunctions , containers , doctest >= 0.8 , ilist , mtl , profunctor-optics default-extensions: ConstraintKinds RankNTypes MultiParamTypeClasses OverloadedStrings FlexibleContexts FlexibleInstances ExistentialQuantification QuantifiedConstraints ScopedTypeVariables TupleSections TypeOperators TypeApplications TypeFamilies