name:                shared-fields
version:             0.2.0.0
synopsis:
  a tiny library for using shared lens fields
description:
  A simple single-module library for creating lens field typeclasses in a way that allows them to be shared between modules.

  By default, lens' @makeFields@ creates a new class if it can't find a matching one in scope. This means that if you try to @makeFields@ records in different modules without importing one module into the other, you'll get conflicting class definitions rather than a single lens which functions with both records.
license:             BSD3
license-file:        LICENSE
author:              Fraser Murray
maintainer:          fraser.m.murray@gmail.com
homepage:            http://github.com/intolerable/shared-fields
category:            Control
build-type:          Simple
cabal-version:       >=1.10

source-repository head
  type: git
  location: git://github.com/intolerable/shared-fields.git

source-repository this
  type: git
  location: git://github.com/intolerable/shared-fields.git
  tag: v0.2.0.0

library
  exposed-modules:
    Control.Lens.TH.SharedFields
  build-depends:
    base >= 4.7 && < 4.9,
    template-haskell >= 2.10 && < 2.11
  hs-source-dirs: src/
  default-language: Haskell2010
  default-extensions: TemplateHaskell
  ghc-options: -Wall

test-suite test
  hs-source-dirs: test
  main-is: Spec.hs
  default-language: Haskell2010
  default-extensions:
    FlexibleInstances
    FunctionalDependencies
    MultiParamTypeClasses
    TemplateHaskell
  type: exitcode-stdio-1.0
  build-depends:
    base == 4.*,
    Cabal >= 1.16.0,
    hspec,
    lens,
    shared-fields,
    text
  GHC-options: -Wall