data-diverse: Extensible records and polymorphic variants.

[ bsd3, data, library, records ] [ Propose Tags ]

Data.Diverse.Many is an extensible record for any size encoded efficiently as (Int, Map Int Any). Data.Diverse.Which is a 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.


[Skip to Readme]
Versions [faq] 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.3.0.0, 0.4.0.0, 0.5.0.0, 0.6.0.0, 0.7.0.0, 0.8.0.0, 0.8.1.0, 0.9.0.0, 0.9.0.1, 0.10.0.0, 0.11.0.0, 1.0.0.0, 1.0.0.1, 1.1.0.0, 1.2.0.0, 1.2.0.1, 1.2.0.2, 1.2.0.3, 1.3.0.0, 2.0.0.0, 2.0.1.0, 3.0.0.0, 3.1.0.0, 4.0.0.0, 4.1.0.0, 4.2.0.0, 4.3.0.0, 4.4.0.0, 4.5.0.0, 4.6.0.0 (info)
Dependencies base (>=4.7 && <5), containers (==0.5.*), ghc-prim (>=0.5 && <1), lens (==4.*), tagged (>=0.8.5 && <1) [details]
License BSD-3-Clause
Copyright 2017 Louis Pan
Author Louis Pan
Maintainer louis@pan.me
Category Data, Records
Home page https://github.com/louispan/data-diverse#readme
Source repo head: git clone https://github.com/louispan/data-diverse
Uploaded by louispan at Tue Jun 27 20:23:53 UTC 2017
Distributions LTSHaskell:4.6.0.0, NixOS:4.6.0.0, Stackage:4.6.0.0
Downloads 8805 total (506 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 2017-06-27 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for data-diverse-0.3.0.0

[back to package description]

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.