packages feed

union-0.1.3.2: union.cabal

cabal-version:       2.2
name:                union
version:             0.1.3.2
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 linear time access (negligible in practice).

license:             BSD-3-Clause
license-file:        LICENSE
author:              Vladislav Zavialov
maintainer:          Vladislav Zavialov <vlad.z.4096@gmail.com>
bug-reports:         https://github.com/int-index/union/issues
category:            Data
build-type:          Simple
tested-with:         GHC ==9.10.3, GHC ==9.12.4, GHC ==9.14.1

source-repository head
  type:                git
  location:            git@github.com:int-index/union.git

library
  exposed-modules:     Data.Union
  other-modules:       Data.Union.Prism
  build-depends:       base >=4.20 && <4.23
               ,       vinyl >= 0.14.3 && <0.15
               ,       profunctors >=5.1 && <5.7
               ,       tagged >=0.8 && <0.9
               ,       deepseq >=1.4 && <1.7
               ,       hashable >=1.2 && <1.6
  hs-source-dirs:      src
  default-language:    GHC2024
  ghc-options:         -Wall

benchmark bench
  type:                exitcode-stdio-1.0
  main-is:             Benchmark.hs
  build-depends:       base
               ,       union
               ,       lens
               ,       deepseq >=1.4.2
               ,       criterion
  hs-source-dirs:      bench
  default-language:    GHC2024
  ghc-options:         -Wall -O2 -Wno-orphans