File: some.cabal

package info (click to toggle)
haskell-some 1.0.6-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 116 kB
  • sloc: haskell: 727; makefile: 6
file content (93 lines) | stat: -rw-r--r-- 2,120 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
name:               some
version:            1.0.6
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/haskellari/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.
  .
  If you are unsure which variant to use, use the one in "Data.Some" module.

tested-with:
  GHC ==8.6.5
   || ==8.8.4
   || ==8.10.4
   || ==9.0.2
   || ==9.2.8
   || ==9.4.7
   || ==9.6.3
   || ==9.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: https://github.com/haskellari/some.git
  subdir:   some

library
  default-language: Haskell2010
  hs-source-dirs:   src

  if flag(newtype-unsafe)
    cpp-options: -DSOME_NEWTYPE

  -- main module
  exposed-modules:  Data.Some
  exposed-modules:
    Data.EqP
    Data.GADT.Compare
    Data.GADT.DeepSeq
    Data.GADT.Show
    Data.OrdP
    Data.Some.Church
    Data.Some.GADT
    Data.Some.Newtype

  other-modules:    Data.GADT.Internal
  build-depends:
      base     >=4.12    && <4.20
    , deepseq  >=1.4.4.0 && <1.6

  if !impl(ghc >= 9.8)
    build-depends:
      base-orphans >= 0.9.1 && <0.10

  if impl(ghc >=9.0)
    -- these flags may abort compilation with GHC-8.10
    -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295
    ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode

  if impl(ghc >=9.1)
    ghc-options: -Wmissing-kind-signatures

test-suite hkd-example
  default-language: Haskell2010
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          HKD.hs
  build-depends:
      base
    , some