packages feed

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