@hackage data-diverse0.3.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, fold, and catamorphisms; accessed by type or index.

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