packages feed

red-black-record-2.0.2.2: red-black-record.cabal

cabal-version:       2.0
name:                red-black-record
version:             2.0.2.2
synopsis:            Extensible records and variants indexed by a type-level Red-Black tree.

description:         A library that provides extensible records and variants,
                     both indexed by a type-level red-black tree that maps
                     Symbol keys to value Types. 
                     .
                     The keys correspond to fields
                     names in records, and to branch names in variants.
                     . 
                     Each value type in a field or branch comes wrapped in a
                     type constructor of kind @Type -> Type@. 
                     .
                     The records and variants can be converted to and from
                     regular Haskell datatypes; also to and from the unlabelled
                     n-ary products and sums of the @sop-core@ package.

license:             BSD3
license-file:        LICENSE
author:              Daniel Diaz
maintainer:          diaz_carrete@yahoo.com
category:            Data
extra-source-files:  CHANGELOG.md,
                     README.md
build-type:          Simple

source-repository head
    type: git
    location: https://github.com/danidiaz/red-black-record.git

library
  exposed-modules:     Data.RBR
                       Data.RBR.Internal
                       Data.RBR.Examples
  build-depends:       base                 >= 4.10.0.0 && < 5,
                       sop-core             >= 0.4.0.0 && < 0.5
  hs-source-dirs:      lib
  default-language:    Haskell2010

library demoted
  exposed-modules:     Data.RBR.Demoted
  build-depends:       base                 >= 4.10.0.0 && < 5,
                       sop-core             >= 0.4.0.0 && < 0.5,
                       red-black-record
  hs-source-dirs:      lib-demoted
  default-language:    Haskell2010

test-suite doctests
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  ghc-options:         -threaded
  main-is:             doctests.hs
  build-depends:       base                 >= 4.10.0.0 && < 5,
                       sop-core             >= 0.4.0.0 && < 0.5,
                       red-black-record,
                       aeson                >= 1.4.0.0 && < 1.5,
                       bytestring           >= 0.10,
                       text                 >= 1.1,
                       profunctors          >= 5,
                       doctest              >= 0.16
  default-language:    Haskell2010

test-suite tests
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  main-is:             tests.hs
  build-depends:
                       base                 >= 4.10.0.0 && < 5,
                       sop-core             >= 0.4.0.0 && < 0.5,
                       tasty                >= 0.10.1.1,
                       tasty-hunit          >= 0.9.2,
                       red-black-record,
                       demoted
  default-language:    Haskell2010