File: parameterized-utils.cabal

package info (click to toggle)
haskell-parameterized-utils 2.1.9.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 584 kB
  • sloc: haskell: 7,887; makefile: 6
file content (151 lines) | stat: -rw-r--r-- 4,667 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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Cabal-version: 2.2
Name:          parameterized-utils
Version:       2.1.9.0
Author:        Galois Inc.
Maintainer:    kquick@galois.com, rscott@galois.com
stability:     stable
Build-type:    Simple
Copyright:     ©2016-2022 Galois, Inc.
License:       BSD-3-Clause
License-file:  LICENSE
category:      Data Structures, Dependent Types
Synopsis: Classes and data structures for working with data-kind indexed types
Description:
  This package contains collection classes and type representations
  used for working with values that have a single parameter.  It's
  intended for things like expression libraries where one wishes
  to leverage the Haskell type-checker to improve type-safety by encoding
  the object language type system into data kinds.
extra-source-files: Changelog.md
homepage:      https://github.com/GaloisInc/parameterized-utils
bug-reports:   https://github.com/GaloisInc/parameterized-utils/issues
tested-with:   GHC==8.6.5, GHC==8.8.4, GHC==8.10.7, GHC==9.0.2, GHC==9.2.2, GHC==9.4.5, GHC==9.6.1, GHC==9.8.1, GHC==9.10.1

-- Many (but not all, sadly) uses of unsafe operations are
-- controlled by this compile flag.  When this flag is set
-- to False, alternate implementations are used to avoid
-- Unsafe.Coerce and Data.Coerce.  These alternate implementations
-- impose a significant performance hit.
flag unsafe-operations
  Description: Use unsafe operations (e.g. coercions) to improve performance
  Default: True

source-repository head
  type: git
  location: https://github.com/GaloisInc/parameterized-utils


common bldflags
  ghc-options: -Wall
               -Wcompat
               -Wpartial-fields
               -Wincomplete-uni-patterns
               -Werror=incomplete-patterns
               -Werror=missing-methods
               -Werror=overlapping-patterns
               -Wno-trustworthy-safe
               -fhide-source-paths
  default-language: Haskell2010


library
  import: bldflags
  build-depends: base >= 4.10 && < 5
               , base-orphans   >=0.8.2 && <0.10
               , th-abstraction >=0.4.2 && <0.8
               , constraints    >=0.10 && <0.15
               , containers
               , deepseq
               , ghc-prim
               , hashable       >=1.2  && <1.6
               , hashtables     >=1.2  && <1.5
               , indexed-traversable
               , lens           >=4.16 && <5.4
               , mtl
               , profunctors    >=5.6 && < 5.7
               , template-haskell
               , text
               , vector         >=0.12 && < 0.14

  hs-source-dirs: src

  exposed-modules:
    Data.Parameterized
    Data.Parameterized.All
    Data.Parameterized.Axiom
    Data.Parameterized.BoolRepr
    Data.Parameterized.Classes
    Data.Parameterized.ClassesC
    Data.Parameterized.Compose
    Data.Parameterized.Context
    Data.Parameterized.Context.Safe
    Data.Parameterized.Context.Unsafe
    Data.Parameterized.Ctx
    Data.Parameterized.Ctx.Proofs
    Data.Parameterized.DataKind
    Data.Parameterized.DecidableEq
    Data.Parameterized.Fin
    Data.Parameterized.FinMap
    Data.Parameterized.FinMap.Safe
    Data.Parameterized.FinMap.Unsafe
    Data.Parameterized.HashTable
    Data.Parameterized.List
    Data.Parameterized.Map
    Data.Parameterized.NatRepr
    Data.Parameterized.Nonce
    Data.Parameterized.Nonce.Transformers
    Data.Parameterized.Nonce.Unsafe
    Data.Parameterized.Pair
    Data.Parameterized.Peano
    Data.Parameterized.Some
    Data.Parameterized.SymbolRepr
    Data.Parameterized.TH.GADT
    Data.Parameterized.TraversableF
    Data.Parameterized.TraversableFC
    Data.Parameterized.TraversableFC.WithIndex
    Data.Parameterized.Utils.BinTree
    Data.Parameterized.Utils.Endian
    Data.Parameterized.Vector
    Data.Parameterized.WithRepr

  other-modules:
    Data.Parameterized.NatRepr.Internal

  if flag(unsafe-operations)
    cpp-options: -DUNSAFE_OPS


test-suite parameterizedTests
  import: bldflags
  type: exitcode-stdio-1.0
  hs-source-dirs: test

  main-is: UnitTest.hs
  other-modules:
    Test.Context
    Test.Fin
    Test.FinMap
    Test.List
    Test.NatRepr
    Test.Some
    Test.SymbolRepr
    Test.TH
    Test.Vector

  build-depends: base
               , hashable
               , hashtables
               , hedgehog
               , indexed-traversable
               , ghc-prim
               , lens
               , mtl
               , parameterized-utils
               , tasty >= 1.2 && < 1.6
               , tasty-ant-xml == 1.1.*
               , tasty-hunit >= 0.9 && < 0.11
               , tasty-hedgehog >= 1.2

  if impl(ghc >= 8.6)
    build-depends:
      hedgehog-classes