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.4
, 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
|