name: named-sop version: 0.1.0.1 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 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