Name: parameterized-utils
Version: 1.0.0
Author: Galois Inc.
Maintainer: jhendrix@galois.com
Build-type: Simple
Cabal-version: >= 1.9.2
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.
-- 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 to improve performance
Default: True
source-repository head
type: git
location: https://github.com/GaloisInc/parameterized-utils
library
build-depends:
base >= 4.7 && < 4.11,
th-abstraction >=0.1 && <0.3,
containers,
deepseq,
ghc-prim,
hashable,
hashtables,
lens,
mtl,
template-haskell,
text,
vector
hs-source-dirs: src
exposed-modules:
Data.Parameterized
Data.Parameterized.Classes
Data.Parameterized.Context
Data.Parameterized.Context.Safe
Data.Parameterized.Context.Unsafe
Data.Parameterized.Ctx
Data.Parameterized.Ctx.Proofs
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.Some
Data.Parameterized.SymbolRepr
Data.Parameterized.Pair
Data.Parameterized.TH.GADT
Data.Parameterized.TraversableF
Data.Parameterized.TraversableFC
Data.Parameterized.Utils.BinTree
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
build-depends:
base,
hashable,
hashtables,
ghc-prim,
lens,
mtl,
parameterized-utils,
tasty,
tasty-ant-xml,
tasty-hunit,
tasty-quickcheck >= 0.8.1,
QuickCheck >= 2.7