Name: parameterized-utils
Version: 2.0
Author: Galois Inc.
Maintainer: jhendrix@galois.com, kquick@galois.com
stability: stable
Build-type: Simple
Cabal-version: >= 1.9.2
Copyright: ©2016-2019 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 packages 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.2.2, GHC==8.4.4, GHC==8.6.4
-- 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
, th-abstraction >=0.1 && <0.3
, constraints == 0.10.*
, containers
, deepseq
, ghc-prim
, hashable == 1.2.*
, hashtables == 1.2.*
, lens == 4.17.*
, mtl
, template-haskell
, text
, vector == 0.12.*
hs-source-dirs: src
exposed-modules:
Data.Parameterized
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.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
if flag(unsafe-operations)
cpp-options: -DUNSAFE_OPS
test-suite parameterizedTests
type: exitcode-stdio-1.0
hs-source-dirs: test
ghc-options: -Wall
main-is: UnitTest.hs
other-modules:
Test.Context
Test.NatRepr
Test.Vector
build-depends: base
, hashable
, hashtables
, ghc-prim
, lens
, mtl
, parameterized-utils
, tasty == 1.2.*
, tasty-ant-xml == 1.1.*
, tasty-hunit >= 0.9 && < 0.11
, tasty-quickcheck >= 0.8.1 && < 0.11
, QuickCheck >= 2.7 && < 2.14