row-types: Open Records and Variants

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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]


Change log
Dependencies base (>=2 && <5), constraints, deepseq (>=1.4), hashable (>=1.2), text, unordered-containers (>=0.2) [details]
License MIT
Author Daniel Winograd-Cort, Matthew Farkas-Dyck
Category Data, Data Structures
Source repo head: git clone
Uploaded by dwincort at 2018-07-02T17:06:06Z




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Readme for row-types-

[back to package description]


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.

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!