packages feed

optics-core-0.1: optics-core.cabal

name:          optics-core
version:       0.1
license:       BSD3
license-file:  LICENSE
build-type:    Simple
cabal-version: 1.24
maintainer:    optics@well-typed.com
author:        Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
tested-with:   GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1, GHCJS ==8.4
synopsis:      Optics as an abstract interface: core definitions
category:      Data, Optics, Lenses
description:
  This package makes it possible to define and use Lenses, Traversals, Prisms
  and other optics, using an abstract interface.
  .
  This variant provides core definitions with a minimal dependency footprint.
  See the @optics@ package (and its dependencies) for documentation and the
  "batteries-included" variant.

extra-doc-files:
  diagrams/*.png

bug-reports:   https://github.com/well-typed/optics/issues
source-repository head
  type:     git
  location: https://github.com/well-typed/optics.git
  subdir:   optics-core

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

  build-depends: base                   >= 4.9        && <5
               , array                  >= 0.5.1.1    && <0.6
               , containers             >= 0.5.7.1    && <0.7
               , transformers           >= 0.5        && <0.6

  exposed-modules: Optics.Core

                   -- main optic type
                   Optics.Optic

                   -- optic kinds
                   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

                   -- optic utilities
                   Optics.Arrow
                   Optics.At.Core
                   Optics.Coerce
                   Optics.Cons.Core
                   Optics.Each.Core
                   Optics.Empty.Core
                   Optics.Indexed.Core
                   Optics.Label
                   Optics.Operators
                   Optics.Re
                   Optics.ReadOnly

                   -- optics for data types
                   Data.Either.Optics
                   Data.IntMap.Optics
                   Data.IntSet.Optics
                   Data.List.Optics
                   Data.Map.Optics
                   Data.Maybe.Optics
                   Data.Sequence.Optics
                   Data.Set.Optics
                   Data.Tree.Optics
                   Data.Tuple.Optics
                   Data.Typeable.Optics
                   GHC.Generics.Optics
                   Numeric.Optics

                   -- internal modules
                   Optics.Internal.Bi
                   Optics.Internal.Concrete
                   Optics.Internal.Fold
                   Optics.Internal.Indexed
                   Optics.Internal.IxFold
                   Optics.Internal.IxSetter
                   Optics.Internal.IxTraversal
                   Optics.Internal.Optic
                   Optics.Internal.Optic.Subtyping
                   Optics.Internal.Optic.TypeLevel
                   Optics.Internal.Optic.Types
                   Optics.Internal.Profunctor
                   Optics.Internal.Setter
                   Optics.Internal.Tagged
                   Optics.Internal.Traversal
                   Optics.Internal.Utils

  default-extensions: BangPatterns
                      DefaultSignatures
                      DeriveFunctor
                      FlexibleContexts
                      FlexibleInstances
                      FunctionalDependencies
                      GADTs
                      InstanceSigs
                      LambdaCase
                      MultiParamTypeClasses
                      RankNTypes
                      ScopedTypeVariables
                      TupleSections
                      TypeApplications
                      TypeFamilies
                      TypeOperators