row-types: Open Records and Variants

[ data, data-structures, library, mit ] [ Propose Tags ]

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 additionally 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]
Versions [faq] 0.2.0.0, 0.2.1.0, 0.2.2.0, 0.2.3.0, 0.3.0.0
Change log CHANGELOG.md
Dependencies base (>=2 && <5), constraints, deepseq (>=1.4), generic-lens (>=1.0.0.0), hashable (>=1.2), profunctors (>=5.0), text, unordered-containers (>=0.2) [details]
License MIT
Author Daniel Winograd-Cort, Matthew Farkas-Dyck
Maintainer daniel.winograd-cort@target.com, matthew.farkas-dyck@target.com
Category Data, Data Structures
Source repo head: git clone https://github.com/target/row-types/
Uploaded by dwincort at Tue May 28 19:26:27 UTC 2019
Distributions NixOS:0.3.0.0
Downloads 930 total (84 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2019-05-28 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for row-types-0.3.0.0

[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 an overview of how this library can be used.

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