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

[ bsd3, generics, library ] [ Propose Tags ]

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.


Maintainer's Corner

For package maintainers and hackage trustees


Versions [RSS],,, 0.3
Change log
Dependencies base (>=4.13 && <4.17), containers (>=0.6.2 && <0.7), ghc, large-generics (>=0.2 && <0.3), mtl (>=2.2.1 && <2.3), primitive (>=0.7 && <0.8), record-hasfield (>=1.0 && <1.1), syb (>=0.7 && <0.8), template-haskell, transformers (>=0.5.6 && <0.7) [details]
License BSD-3-Clause
Author Edsko de Vries
Category Generics
Bug tracker
Source repo head: git clone
Uploaded by EdskoDeVries at 2022-07-22T10:36:20Z
Distributions NixOS:0.3
Downloads 215 total (9 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-07-22 [all 1 reports]