Name: parameterized-utils
Version: 2.1.2.0
Author: Galois Inc.
Maintainer: jhendrix@galois.com, kquick@galois.com
stability: stable
Build-type: Simple
Cabal-version: >= 1.10
Copyright: ©2016-2021 Galois, Inc.
License: BSD3
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.3, GHC==8.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
library
build-depends: base >= 4.10 && < 5
, base-orphans >=0.8.2 && <0.9
, th-abstraction >=0.3 && <0.5
, constraints >=0.10 && <0.13
, containers
, deepseq
, ghc-prim
, hashable >=1.2 && <1.4
, hashtables ==1.2.*
, lens >=4.16 && <4.20
, mtl
, template-haskell
, text
, vector ==0.12.*
hs-source-dirs: src
exposed-modules:
Data.Parameterized
Data.Parameterized.All
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.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.Utils.BinTree
Data.Parameterized.Utils.Endian
Data.Parameterized.Vector
Data.Parameterized.WithRepr
other-modules:
Data.Parameterized.NatRepr.Internal
ghc-options: -Wall
default-language: Haskell2010
if flag(unsafe-operations)
cpp-options: -DUNSAFE_OPS
test-suite parameterizedTests
type: exitcode-stdio-1.0
hs-source-dirs: test
ghc-options: -Wall
default-language: Haskell2010
main-is: UnitTest.hs
other-modules:
Test.Context
Test.NatRepr
Test.SymbolRepr
Test.Vector
build-depends: base
, hashable
, hashtables
, hedgehog
, ghc-prim
, lens
, mtl
, parameterized-utils
, tasty >= 1.2 && < 1.4
, tasty-ant-xml == 1.1.*
, tasty-hunit >= 0.9 && < 0.11
, tasty-hedgehog