Name:                row-types
Version:             0.2.3.0
License:             MIT
License-file:        LICENSE
Author:              Daniel Winograd-Cort, Matthew Farkas-Dyck
Maintainer:          daniel.winograd-cort@target.com, matthew.farkas-dyck@target.com
Build-Type:          Simple
Cabal-Version:       >=1.8
Category:            Data, Data Structures
Synopsis:	           Open Records and Variants
Description:
  This package uses closed type families and type literals to implement open
  records and variants.
  The core is based off of the <https://hackage.haskell.org/package/CTRex CTRex>
  package, but it additionally includes polymorphic variants and a number of
  additional functions.  That said, it is not a proper superset of CTRex as it
  specifically forbids records from having more than one element of the same
  label.

extra-source-files:
  examples/Examples.lhs
  README.md
  CHANGELOG.md
  LICENSE
  NOTICE

Library
  Build-Depends: base >= 2 && < 5,
                 constraints,
                 deepseq >= 1.4,
                 hashable >= 1.2,
                 unordered-containers >= 0.2,
                 text
  Exposed-modules: Data.Row
                 , Data.Row.Internal
                 , Data.Row.Records
                 , Data.Row.Variants
                 , Data.Row.Switch
  ghc-options: -W
  Extensions: AllowAmbiguousTypes,
              ConstraintKinds,
              DataKinds,
              EmptyDataDecls,
              FlexibleContexts,
              FlexibleInstances,
              GADTs,
              InstanceSigs,
              KindSignatures,
              MultiParamTypeClasses,
              OverloadedLabels,
              PatternGuards,
              PatternSynonyms,
              PolyKinds,
              RankNTypes,
              ScopedTypeVariables,
              TypeApplications,
              TypeFamilies,
              TypeOperators,
              TupleSections,
              ViewPatterns,
              UndecidableInstances

benchmark perf
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs:
      benchmarks/perf
  ghc-options: -W
  build-depends: base >= 2 && < 6
               , row-types
               , deepseq >= 1.4
               , criterion >= 1.1
  Extensions: AllowAmbiguousTypes,
              DataKinds,
              OverloadedLabels,
              RankNTypes,
              ScopedTypeVariables,
              TypeApplications,
              TypeFamilies,
              TypeOperators

test-suite test
  type: exitcode-stdio-1.0
  main-is: Main.hs
  hs-source-dirs: tests, examples
  ghc-options: -W
  other-modules: Examples
  build-depends: base >= 2 && < 6
               , row-types
  Extensions: AllowAmbiguousTypes,
              DataKinds,
              FlexibleContexts,
              OverloadedLabels,
              PatternSynonyms,
              RankNTypes,
              ScopedTypeVariables,
              TypeApplications,
              TypeFamilies,
              TypeOperators,
              ViewPatterns


source-repository head
    type:     git
    location: https://github.com/target/row-types/