large-records: Efficient compilation for large records, linear in the size of the record

[ bsd3, generics, library ] [ Propose Tags ] [ Report a vulnerability ]

For many reasons, the internal code generated for modules that contain records is quadratic in the number of record fields. For large records (more than 30 fields, say), this can become problematic, leading to large compilation times and high memory requirements for ghc. The large-records library provides a way to define records that is guaranteed to result in ghc core that is linear in the number of record fields.

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.1.0, 0.3, 0.4, 0.4.1, 0.4.2
Change log CHANGELOG.md
Dependencies base (>=4.13 && <4.17), containers (>=0.6.2 && <0.7), ghc (<9.2), large-generics (>=0.1 && <0.2), mtl (>=2.2.1 && <2.3), record-hasfield (>=1.0 && <1.1), syb (>=0.7 && <0.8), template-haskell, transformers (>=0.5.6 && <0.7), vector (>=0.12 && <0.13) [details]
Tested with ghc ==8.8.4 || ==8.10.7 || ==9.0.2
License BSD-3-Clause
Author Edsko de Vries
Maintainer edsko@well-typed.com
Revised Revision 1 made by phadej at 2022-07-07T10:31:50Z
Category Generics
Bug tracker https://github.com/well-typed/large-records/issues
Source repo head: git clone https://github.com/well-typed/large-records
Uploaded by EdskoDeVries at 2022-03-23T14:35:15Z
Distributions NixOS:0.4.1
Reverse Dependencies 1 direct, 1 indirect [details]
Downloads 758 total (65 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-03-23 [all 1 reports]