parameterized-utils-2.1.11.0: Classes and data structures for working with data-kind indexed types

# parameterized-utils-2.1.11.0: Classes and data structures for working with data-kind indexed types

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.

Modules

parameterized-utils-2.1.11.0

- Data
  Submodules
  - Data.Parameterized
    Submodules
    - Data.Parameterized.All Universal quantification, in a datatype
    - Data.Parameterized.Axiom
    - Data.Parameterized.BoolRepr
    - Data.Parameterized.Classes Classes for working with type of kind `k -> *`
    - Data.Parameterized.ClassesC Classes for working with type of kind `(k -> *) -> *`
    - Data.Parameterized.Compose utilities for working with Data.Functor.Compose
    - Data.Parameterized.Context
    - Data.Parameterized.Ctx Type-level lists.
      Submodules
      - Data.Parameterized.Ctx.Proofs type-level proofs involving contexts
    - Data.Parameterized.DataKind
    - Data.Parameterized.DecidableEq Decideable equality (i.e. evidence of non-equality) on type families
    - Data.Parameterized.Fin
    - Data.Parameterized.FinMap
      Submodules
      - Data.Parameterized.FinMap.Safe
      - Data.Parameterized.FinMap.Unsafe
    - Data.Parameterized.HashTable a hash table for parameterized keys and values
    - Data.Parameterized.List A type-indexed parameterized list
    - Data.Parameterized.Map Finite maps with parameterized key and value types
    - Data.Parameterized.NatRepr Type level natural number representation at runtime
    - Data.Parameterized.Nonce Index generator in the ST monad.
      Submodules
      - Data.Parameterized.Nonce.Transformers A typeclass and monad transformers for generating nonces.
      - Data.Parameterized.Nonce.Unsafe A counter in the ST monad.
    - Data.Parameterized.Pair A 2-tuple with identically parameterized elements
    - Data.Parameterized.Peano Representations of a type-level natural at runtime.
    - Data.Parameterized.Some a GADT that hides a type parameter
    - Data.Parameterized.SymbolRepr a type family for representing a type-level string (AKA symbol) at runtime
    - TH
      Submodules
      - Data.Parameterized.TH.GADT Template Haskell primitives for working with large GADTs
    - Data.Parameterized.TraversableF Traversing structures having a single parametric type
    - Data.Parameterized.TraversableFC Traversing structures having a single parametric type followed by a fixed kind.
      Submodules
      - Data.Parameterized.TraversableFC.WithIndex `TraversableFC` classes, but with indices.
    - Utils
      Submodules
      - Data.Parameterized.Utils.BinTree Utilities for balanced binary trees.
      - Data.Parameterized.Utils.Endian A common location for defining multi-byte value ordering.
    - Data.Parameterized.Vector
    - Data.Parameterized.WithRepr