packages feed

union-0.1.0.0: union.cabal

name:                union
version:             0.1.0.0
synopsis:            Extensible type-safe unions
description:

    Extensible type-safe unions for Haskell with prisms using modern
    GHC features. Dual to vinyl records. Unions are also known as
    corecords or polymorphic variants.

    Neither requires a @Typeable@ constraint nor uses unsafe coercions
    at the cost of a performance hit.

license:             BSD3
license-file:        LICENSE
author:              Index Int
maintainer:          Index Int <vlad.z.4096@gmail.com>
category:            Data
build-type:          Simple
cabal-version:       >=1.10

library
  exposed-modules:     Data.Union
  other-extensions:    DataKinds
                       EmptyCase
                       FlexibleContexts
                       FlexibleInstances
                       GADTs
                       LambdaCase
                       MultiParamTypeClasses
                       PolyKinds
                       RankNTypes
                       ScopedTypeVariables
                       TypeOperators
  build-depends:       base >=4.8 && <4.10
               ,       vinyl >=0.5 && <0.6
               ,       lens >=4.13 && <4.14
  hs-source-dirs:      src
  default-language:    Haskell2010
  ghc-options:         -Wall

benchmark bench
  type:                exitcode-stdio-1.0
  main-is:             Benchmark.hs
  build-depends:       base
               ,       union
               ,       lens
               ,       criterion
  hs-source-dirs:      bench
  default-language:    Haskell2010
  ghc-options:         -Wall