name:                   dependent-sum
version:                0.6.1
stability:              provisional

cabal-version:          >= 1.6
build-type:             Simple

author:                 James Cook <mokus@deepbondi.net>
maintainer:             James Cook <mokus@deepbondi.net>
license:                PublicDomain
homepage:               https://github.com/mokus0/dependent-sum

category:               Data, Dependent Types
synopsis:               Dependent sum type
description:            A dependent sum is a generalization of a
                        particular way of thinking about the @Either@
                        type.  @Either a b@ can be thought of as a
                        2-tuple @(tag, value)@, where the value of the
                        tag determines the type of the value.  In
                        particular, either @tag = Left@ and @value :: a@
                        or @tag = Right@ and @value :: b@.
                        .
                        This package allows you to define your own
                        dependent sum types by using your own \"tag\"
                        types.

tested-with:            GHC == 8.0.2,
                        GHC == 8.2.2,
                        GHC == 8.4.4,
                        GHC == 8.6.4

extra-source-files:     ChangeLog.md
                      , examples/*.hs

source-repository head
  type:     git
  location: git://github.com/mokus0/dependent-sum.git

Library
  hs-source-dirs:       src
  exposed-modules:      Data.Dependent.Sum
                        Data.GADT.Compare
                        Data.GADT.Show
                        Data.Some
  other-extensions:     PatternSynonyms
  build-depends:        base >= 4.9 && <5
                      , constraints-extras >= 0.2 && < 0.4
  if impl(ghc >= 7.2)
    ghc-options:        -trust base