polytropos-core-0.1.0.2: polytropos-core.cabal
cabal-version: 3.0
name: polytropos-core
version: 0.1.0.2
synopsis: Row-polymorphic / open ADTs: rows, generic representation, evidence
description:
Core engine and consumer surface of <https://hackage.haskell.org/package/polytropos polytropos>:
row-polymorphic extensible records and variants for Haskell.
The package collapses the four quadrants of the design space (nominal products,
structural products, nominal sums, and structural sums) into one uniform generic
representation ('Polytropos.Core.Rep'): a runtime integer tag plus a contiguous, flat
'Data.Primitive.SmallArray.SmallArray' of payload slots.
For application development and daily usage, start at the front door module
"Polytropos", which exposes ergonomic constructors, pattern synonyms, and
worked examples. For compiler plugins and low-level substrate primitives, see
"Polytropos.Core".
For design decisions, memory physics, and background on the OCaml polymorphic variant
heritage, see <https://github.com/NadiaYvette/polytropos/blob/master/docs/notes/POLYTROPOS_DESIGN.md POLYTROPOS_DESIGN.md>.
license: EUPL-1.2 OR Apache-2.0
license-file: LICENSE
author: Nadia Yvette Chambers
maintainer: nadia.yvette.chambers@ik.me
category: Data
homepage: https://github.com/NadiaYvette/polytropos
bug-reports: https://github.com/NadiaYvette/polytropos/issues
extra-doc-files: README.md
, CHANGELOG.md
source-repository head
type: git
location: https://github.com/NadiaYvette/polytropos
subdir: packages/polytropos-core
common warnings
ghc-options:
-Wall
-Wcompat
-Widentities
-Wincomplete-record-updates
-Wincomplete-uni-patterns
-Wredundant-constraints
-Wunused-packages
library
import: warnings
exposed-modules: Polytropos
, Polytropos.Core
hs-source-dirs: src
default-language: GHC2021
build-depends: base >= 4.18 && < 4.23
, primitive >= 0.9 && < 0.10
test-suite polytropos-core-test
import: warnings
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: test
default-language: GHC2021
build-depends: base
, polytropos-core
, primitive
, tasty >= 1.4 && < 1.6
, tasty-hunit >= 0.10 && < 0.11