packages feed

generic-lens-2.3.0.0: generic-lens.cabal

cabal-version:        2.0
name:                 generic-lens
version:              2.3.0.0
synopsis:             Generically derive traversals, lenses and prisms.
description:          This library uses GHC.Generics to derive efficient optics (traversals, lenses and prisms) for algebraic data types in a type-directed way, with a focus on good type inference and error messages when possible.
                      .
                      The library exposes a van Laarhoven interface. For an alternative interface, supporting an opaque optic type, see
                      @<https://hackage.haskell.org/package/generic-optics generic-optics>@.

homepage:             https://github.com/kcsongor/generic-lens
license:              BSD3
license-file:         LICENSE
author:               Csongor Kiss
maintainer:           kiss.csongor.kiss@gmail.com
category:             Generics, Records, Lens
build-type:           Simple

tested-with:
  GHC == 9.14.1
  GHC == 9.12.2
  GHC == 9.10.2
  GHC == 9.8.4
  GHC == 9.6.7
  GHC == 9.4.8
  GHC == 9.2.8
  GHC == 9.0.2
  GHC == 8.10.7
  GHC == 8.8.4
  GHC == 8.6.5
  GHC == 8.4.4


extra-source-files:   examples/StarWars.hs
                    , examples/Examples.hs

extra-doc-files:      ChangeLog.md

library
  exposed-modules:    Data.Generics.Wrapped
                    , Data.Generics.Product
                    , Data.Generics.Product.Any
                    , Data.Generics.Product.Fields
                    , Data.Generics.Product.Param
                    , Data.Generics.Product.Positions
                    , Data.Generics.Product.Subtype
                    , Data.Generics.Product.Typed
                    , Data.Generics.Product.Types
                    , Data.Generics.Product.HList
                    , Data.Generics.Labels

                    , Data.Generics.Sum
                    , Data.Generics.Sum.Any
                    , Data.Generics.Sum.Constructors
                    , Data.Generics.Sum.Typed
                    , Data.Generics.Sum.Subtype

                    , Data.Generics.Internal.VL
                    , Data.Generics.Internal.VL.Lens
                    , Data.Generics.Internal.VL.Prism
                    , Data.Generics.Internal.VL.Iso

  build-depends:      base        >= 4.11 && < 5
                    , generic-lens-core ^>= 2.3.0.0
                    , profunctors

  hs-source-dirs:     src
  default-language:   Haskell2010
  default-extensions: TypeOperators
  ghc-options:        -Wall

test-suite inspection-tests
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            Spec.hs
  other-modules:      Util Test24 Test88 Test25 Test40 Test62 Test63 Test146 CustomChildren

  build-depends:      base
                    , generic-lens
                    , lens
                    , mtl
                    , inspection-testing >= 0.2
                    , HUnit

  default-language:   Haskell2010
  ghc-options:        -Wall

test-suite generic-lens-bifunctor
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            Bifunctor.hs

  build-depends:      base
                    , generic-lens
                    , lens
                    , HUnit

  default-language:   Haskell2010
  ghc-options:        -Wall

test-suite generic-lens-syb-tree
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test/syb
  main-is:            Tree.hs

  build-depends:      base
                    , generic-lens
                    , lens
                    , HUnit

  default-language:   Haskell2010
  ghc-options:        -Wall

test-suite doctests
  default-language:   Haskell2010
  type:               exitcode-stdio-1.0
  ghc-options:        -threaded
  main-is:            doctest.hs
  build-depends:      base >= 4 && <5
                    , doctest
  hs-source-dirs:     examples