packages feed

profunctor-optics-0.0.2: profunctor-optics.cabal

cabal-version: >= 1.10

name:           profunctor-optics
version:        0.0.2
synopsis:       A compact 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, traversals, cotraversals, views, setters, folds, and more.
  .
  Compact & straight-forward implementation.
  .
  Fully interoperable. All that is required to create optics is the `profunctors` package. Optics compose with (.) from `Prelude` as is typical. 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 <https://github.com/cmk/profunctor-optics/blob/master/profunctor-optics/README.md Readme> 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:
      Data.Tuple.Optic
      Data.Either.Optic

      Data.Profunctor.Optic
      Data.Profunctor.Optic.Types
      Data.Profunctor.Optic.Property
      Data.Profunctor.Optic.Carrier
      Data.Profunctor.Optic.Combinator

      Data.Profunctor.Optic.Iso
      Data.Profunctor.Optic.Prism
      Data.Profunctor.Optic.Lens
      Data.Profunctor.Optic.Traversal
      Data.Profunctor.Optic.Fold
      Data.Profunctor.Optic.Setter
      Data.Profunctor.Optic.View
      Data.Profunctor.Optic.Zoom

  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
    , adjunctions       >= 4.4      && < 5.0
    , coapplicative     >= 0.0.1    && < 0.2
    , distributive      >= 0.3      && < 1
    , lawz              >= 0.1.1    && < 0.2
    , mtl               >= 2.0.1    && < 2.3
    , newtype-generics  >= 0.5.3    && < 0.6
    , profunctors       >= 5.4      && < 6
    , rings             >= 0.1.3    && < 0.1.4
    , semigroupoids     >= 5        && < 6
    , tagged            >= 0.4.4    && < 1
    , transformers      >= 0.5      && < 0.6

executable doctest
  main-is:           doctest.hs
  ghc-options:       -Wall -threaded
  hs-source-dirs:    test
  default-language:  Haskell2010
  x-doctest-options: --fast

  build-depends:
      base
    , doctest >= 0.8
    , mtl
    , profunctor-optics

  default-extensions: 
      ConstraintKinds
      RankNTypes 
      MultiParamTypeClasses 
      OverloadedStrings 
      FlexibleContexts
      FlexibleInstances 
      ExistentialQuantification
      QuantifiedConstraints
      ScopedTypeVariables
      TupleSections
      TypeOperators
      TypeApplications
      TypeFamilies