some-1: some.cabal
name: some
version: 1
stability: provisional
cabal-version: >=1.10
build-type: Simple
author: James Cook <mokus@deepbondi.net>, Oleg Grenrus <oleg.grenrus@iki.fi>
maintainer: Oleg Grenrus <oleg.grenrus@iki.fi>
license: BSD3
license-file: LICENSE
homepage: https://github.com/phadej/some
category: Data, Dependent Types
synopsis: Existential type: Some
description:
This library defines an existential type 'Some'.
.
@
data Some f where
\ Some :: f a -> Some f
@
.
in few variants, and utilities to work with it.
tested-with:
GHC ==7.0.4
|| ==7.2.2
|| ==7.4.2
|| ==7.6.3
|| ==7.8.4
|| ==7.10.3
|| ==8.0.2
|| ==8.2.2
|| ==8.4.4
|| ==8.6.5
|| ==8.8.1
extra-source-files: ChangeLog.md
flag newtype-unsafe
description:
Use implementation using @newtype@ and unsafe @Any@, instead of GADT
manual: True
default: True
source-repository head
type: git
location: git://github.com/phadej/some.git
subdir: some
library
default-language: Haskell2010
hs-source-dirs: src
if flag(newtype-unsafe)
cpp-options: -DSOME_NEWTYPE
exposed-modules:
Data.GADT.Compare
Data.GADT.DeepSeq
Data.GADT.Show
Data.Some
Data.Some.Church
Data.Some.GADT
Data.Some.Newtype
other-modules: Data.GADT.Internal
build-depends:
base >=4.3 && <4.14
, deepseq >=1.3.0.0 && <1.5
if !impl(ghc >=7.8)
build-depends: type-equality >=1 && <1.1
if !impl(ghc >=8.0)
build-depends:
semigroups >=0.18.5 && <0.20
, transformers >=0.3 && <0.6
, transformers-compat >=0.6 && <0.7