named-sop-0.2.0.0: named-sop.cabal
name: named-sop
version: 0.2.0.0
category: Data
homepage: https://github.com/sjsch/named-sop
synopsis: Dependently-typed sums and products, tagged by field name
description:
Sums and Maps (products) indexed by a typelevel map of their field
(or constructor) names and types. They can be combined and split
again; their typelevel map is sorted to ensure that the end result
is independent of the order you combine it in.
.
"Data.NamedSOP.Generic" contains functions for automatically
converting between types with a Generic instance and named sums of
products:
.
> >>> data A = C { a :: Int, b :: Bool }
> >>> | D Int Bool deriving (Generic)
> >>> :t genSum (C 3 True)
> NSum
> '[ "_C" ':-> NMap '[ "a" ':-> Int, "b" ':-> Bool],
> "_D" ':-> NMap '[ "_1" ':-> Int, "_2" ':-> Bool]]
license: MIT
license-file: LICENSE
author: Sam Schweigel
maintainer: Sam Schweigel <s.schweigel@gmail.com>
build-type: Simple
cabal-version: 2.0
tested-with: GHC ==8.6.4
extra-source-files: CHANGELOG.md, README.md
source-repository head
type: git
location: https://github.com/sjsch/named-sop
library
exposed-modules: Data.NamedSOP.Type
, Data.NamedSOP.Map
, Data.NamedSOP.Sum
, Data.NamedSOP.Generic
build-depends: base ^>= 4.12.0.0
, singletons ^>= 2.5.1
, text ^>= 1.2.3.1
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall -Werror=incomplete-patterns
test-suite named-sop-spec
type: exitcode-stdio-1.0
main-is: Tests.hs
hs-source-dirs: test
build-depends: base
, named-sop
, tasty
, tasty-hunit
default-language: Haskell2010
ghc-options: -Wall -Werror=incomplete-patterns