homepage: https://github.com/patrickt/fastsum#readme
changelog-type: ''
hash: a84b132ca3fc9d8c688910def166a4c440a687179b8abf7242611a2c9d5feaff
test-bench-deps: {}
maintainer: patrickt@github.com
synopsis: A fast open-union type suitable for 100+ contained alternatives
changelog: ''
basic-deps:
  base: ! '>=4.7 && <5'
  fastsum: -any
  ghc-prim: -any
  hashable: -any
  template-haskell: -any
all-versions:
- '0.1.0.0'
author: Rob Rix, Josh Vera, Allele Dev, Patrick Thomson
latest: '0.1.0.0'
description-type: markdown
description: ! "# fastsum\n\nThis package provides `Data.Sum`, an open-union type,
  similar to the `Union` type that powers the implementation of [Oleg Kiselyov's extensible-effects
  library](http://okmij.org/ftp/Haskell/extensible/).\n\nUnlike 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.
  \n\nGHC 8's support for custom type errors provides readable type errors should
  membership constraints not be satisfied.\n\nIn order to achieve speed, this package
  makes fewer guarantees about what can be proven given a `Member` instance. If you
  require a richer vocabulary to describe the implications of membership, you should
  use the traditional implementation of open-unions.\n\n# Credits\n\nThis library
  is built on the work of Oleg Kiselyov, which was then modified by Allele Dev. It
  was extracted from Josh Vera's [effects](https://github.com/joshvera/effects/) library.
  Rob Rix implemented the `ElemIndex` type family and the `Apply` typeclass.\n"
license-name: BSD3

Update from Hackage at 2018-06-05T15:43:02Z
Update from Hackage at 2018-06-05T15:43:02Z
