row-types: Open Records and Variants

[ data, data-structures, library, mit ] [ Propose Tags ] [ Report a vulnerability ]

This package uses closed type families and type literals to implement open records and variants. The core is based off of the CTRex package, but it also includes polymorphic variants and a number of additional functions. That said, it is not a proper superset of CTRex as it specifically forbids records from having more than one element of the same label.


[Skip to Readme]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.3.0.0, 0.3.1.0, 0.4.0.0, 1.0.0.0, 1.0.1.0, 1.0.1.1, 1.0.1.2
Change log CHANGELOG.md
Dependencies base (>=2 && <6), constraints (>=0.11), deepseq (>=1.4), generic-lens (>=1.0.0.0), hashable (>=1.2), profunctors (>=5.0), text, unordered-containers (>=0.2) [details]
Tested with ghc ==8.6.5, ghc ==8.8.3, ghc ==8.10.7, ghc ==9.0.1
License MIT
Author Daniel Winograd-Cort, Matthew Farkas-Dyck
Maintainer dwincort@gmail.com
Revised Revision 1 made by dwincort at 2023-06-07T19:04:28Z
Category Data, Data Structures
Home page https://github.com/dwincort/row-types
Source repo head: git clone https://github.com/target/row-types/
Uploaded by dwincort at 2021-09-10T20:29:25Z
Distributions LTSHaskell:1.0.1.2, NixOS:1.0.1.2, Stackage:1.0.1.2
Reverse Dependencies 15 direct, 46 indirect [details]
Downloads 12561 total (167 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-09-11 [all 1 reports]

Readme for row-types-1.0.1.2

[back to package description]

Row-Types

Build Status Hackage

Row-types is a library of open records and variants for Haskell using closed type families and type literals (among other things...). See examples/Examples.lhs for a literate Haskell file that functions as an overview of how this library can be used, and check out the website for further examples.

Available on Hackage.

This work is a branch from CTRex [1,2] with other inspiration from data-diverse [3]. My thanks to the authors and contributors of those libraries!

[1] https://wiki.haskell.org/CTRex
[2] https://hackage.haskell.org/package/CTRex/docs/Data-OpenRecords.html
[3] https://hackage.haskell.org/package/data-diverse