@hackage data-diverse0.7.0.0

Extensible records and polymorphic variants.

Hackage Build Status

"Data.Diverse.Many" is an extensible record for any size encoded efficiently as (Int, Map Int Any).

"Data.Diverse.Which" polymorphic variant of possibilities encoded as (Int, Any).

Provides getters, setters, projection, injection, folds, and catamorphisms; accessed by type or index or label.

Refer to ManySpec.hs and WhichSpec.hs for example usages.

Iso, Lens and Prisms are provided in data-diverse-lens