The extensible-data package

[ Tags: data, library, public-domain ] [ Propose Tags ]

Extensible lists: Add to a list at compile-time in many modules, which do not necessarily know each other, and then collect it into a single list in a module depending on all of them (possibly indirectly).

Extensible products: It is a record in which new fields can be added anywhere including in different modules; dependent defaults are supported, so it is still possible to make a value of such a type.

Extensible sums: Type with choices; new choices can be added anywhere including in other modules (which do not need to know each other). The operations on them are also freely extensible in the similar way.

Extensible trees: You can make a tree out of types, and have a value at each node. New nodes can be added anywhere if you have access to the node which will become the new node's parent.


Versions 0.1,,,,
Dependencies base (==4.3.*), data-lens (>=2.0.1 && <2.2), hashable (>= && <1.2), template-haskell (>= && <2.6), unordered-containers (>= && <0.2) [details]
License PublicDomain
Maintainer none
Category Data
Uploaded Sat Feb 11 23:15:50 UTC 2012 by AaronBlack
Distributions NixOS:
Downloads 1854 total (31 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-25 [all 6 reports]
Hackage Matrix CI


  • Data
    • Extensible
      • Data.Extensible.List
      • Data.Extensible.Product
      • Data.Extensible.Sum
      • Data.Extensible.Tree


Maintainer's Corner

For package maintainers and hackage trustees