packages feed

polytropos-dhall-0.1.0.2: polytropos-dhall.cabal

cabal-version: 3.0
name: polytropos-dhall
version: 0.1.0.2
synopsis: High-performance Dhall codecs and generic adapters for polytropos open rows
description:
  Linear O(N) 'Dhall.Marshal.Decode.FromDhall' and 'Dhall.Marshal.Encode.ToDhall' codecs
  and generic adapters for <https://hackage.haskell.org/package/polytropos polytropos> open records
  and variants via <https://hackage.haskell.org/package/dhall dhall>.

  Unlike "GHC.Generics" which builds deeply nested binary tree nodes (@(:*:)@, @(:+:)@)
  during serialization, @polytropos-dhall@ unrolls the flat contiguous
  'Data.Primitive.SmallArray.SmallArray' payload directly into Dhall record and union literals
  and back. Variants serialize into Dhall union expressions with O(1) constructor tag dispatch.

  Also provides generic adapters via 'Dhall.Marshal.Decode.GenericFromDhall' and
  'Dhall.Marshal.Encode.GenericToDhall' ('Polytropos.Dhall.GenericDhall') enabling
  seamless DerivingVia integration for nominal Haskell types and gachi substrates.

  Start at the front door module "Polytropos.Dhall" for complete documentation,
  codec options, and worked examples.
license: EUPL-1.2 OR Apache-2.0
license-file: LICENSE
author: Nadia Yvette Chambers
maintainer: nadia.yvette.chambers@ik.me
category: Data, Configuration
homepage: https://github.com/NadiaYvette/polytropos
bug-reports: https://github.com/NadiaYvette/polytropos/issues
extra-doc-files:
    README.md
  , CHANGELOG.md
build-type: Simple

source-repository head
  type:     git
  location: https://github.com/NadiaYvette/polytropos
  subdir:   packages/polytropos-dhall

library
  default-language: GHC2021
  hs-source-dirs: src
  exposed-modules: Polytropos.Dhall
  ghc-options: -Wall
  build-depends:
    base >= 4.14 && < 5,
    dhall >= 1.42 && < 1.43,
    text >= 1.2 && < 2.2,
    bytestring >= 0.10 && < 0.13,
    either >= 5.0 && < 5.1,
    primitive >= 0.7 && < 0.10,
    polytropos-core >= 0.1 && < 0.2,
    polytropos-plugin >= 0.1 && < 0.2

test-suite polytropos-dhall-test
  type: exitcode-stdio-1.0
  default-language: GHC2021
  hs-source-dirs: test
  main-is: Main.hs
  ghc-options: -Wall -fplugin=Polytropos.Plugin
  build-depends:
    base,
    dhall,
    text,
    bytestring,
    either,
    polytropos-core,
    polytropos-dhall,
    polytropos-plugin,
    tasty,
    tasty-hunit