red-black-record

Extensible records and variants indexed by a type-level Red-Black tree.

Latest on Hackage:2.1.4.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

BSD-3-Clause licensed by Daniel Diaz
Maintained by [email protected]

A library that provides extensible records and variants, both indexed by a type-level red-black tree that maps Symbol keys to value types of any kind.

The keys correspond to fields names in records, and to branch names in variants.

At the term level, value types come wrapped in a type constructor of kind q -> Type, where q is the kind of value types.

The records and variants can be converted to and from regular Haskell datatypes; also to and from the unlabelled n-ary products and sums of the sop-core package.