packages feed

fastsum-0.1.1.1: fastsum.cabal

cabal-version:       2.4

name:                fastsum
version:             0.1.1.1
synopsis:            A fast open-union type suitable for 100+ contained alternatives
homepage:            https://github.com/patrickt/fastsum#readme
license:             BSD-3-Clause
license-file:        LICENSE
author:              Rob Rix, Josh Vera, Allele Dev, Patrick Thomson
maintainer:          patrickt@github.com
copyright:           Rob Rix, Josh Vera, Allele Dev, Patrick Thomson 2016-2018
category:            Data
build-type:          Simple
extra-source-files:  README.md
                     ChangeLog.md
tested-with:         GHC == 8.2.2
                     GHC == 8.4.3
                     GHC == 8.6.3
                     GHC == 8.8.1
description:
            This package provides Data.Sum, an open-union type, similar to the Union type
            that powers the implementation of Oleg Kiselyov's extensible-effects library.
            .
            Unlike most open-union implementations, this type is very fast to compile,
            even when the type-level list of alternatives contains hundreds of entries.
            Membership queries are constant-time, compiling to a single type-level natural
            lookup in a closed type family, unlike the traditional encoding of Union,
            which relies on recursive typeclass lookups. As such, this type lends itself
            to representing abstract syntax trees or other rich data structures.
            .
            This project is safe to use in production. Any performance problems at
            compile-time or runtime should be filed as bugs.

flag build-examples
  default: False

library
  hs-source-dirs:      src
  exposed-modules:     Data.Sum
  other-modules:       Data.Sum.Templates
  build-depends:       base >= 4.7 && < 5
                     , deepseq >= 1.4 && <2
                     , ghc-prim >= 0.5 && <1
                     , hashable >= 1.2 && <2
                     , template-haskell >= 2.12 && < 2.16
  default-language:    Haskell2010

executable examples
  hs-source-dirs:   examples
  main-is:          Main.hs
  build-depends:    base, fastsum
  default-language: Haskell2010
  if !flag(build-examples)
     buildable: False

source-repository head
  type:     git
  location: https://github.com/patrickt/fastsum