cabal-version: 2.2
name:          generic-lens-lite
version:       0.1
synopsis:      Monomorphic field lens like with generic-lens
category:      Lens, Generics
description:
  Derivation of (monomorphic, i.e. not type-changing) lens, like generic-lens.
  .
  The package have minimal dependecies and minimal API:
  .
  @
  class HasField (name :: SymboL) r a | name r -> a
  field :: HasField name r a => Lens' r a
  @


homepage:      https://github.com/phadej/generic-lens-lite
license:       BSD-3-Clause
license-file:  LICENSE
author:        Edward Kmett, Csongor Kiss, Oleg Grenrus
maintainer:    Oleg Grenrus <oleg.grenrus@iki.fi>
copyright:     Copyright (c) 2019 Edward Kmett, 2020 Oleg Grenrus
build-type:    Simple
tested-with:   GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1

source-repository head
  type:     git
  location: https://github.com/phadej/generic-lens-lite
  subdir:   generic-lens-lite

library
  default-language: Haskell2010
  hs-source-dirs:   src
  ghc-options:      -Wall
  exposed-modules:  Data.Generics.Lens.Lite
  other-modules:    Data.Functor.Confusing
  build-depends:    base >=4.9 && <4.14

  if impl(ghc >=8.4)
    ghc-options:
      -Wincomplete-uni-patterns -Wincomplete-record-updates
      -Wredundant-constraints -Widentities -Wmissing-export-lists

test-suite example
  type:             exitcode-stdio-1.0
  default-language: Haskell2010
  hs-source-dirs:   example
  main-is:          Example.hs
  ghc-options:      -Wall
  build-depends:
    , base
    , generic-lens-lite

  build-depends:    dump-core
  ghc-options:      -fplugin=DumpCore