@hackage large-records0.1.0.0

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

  • Installation

  • Dependencies (14)

  • Dependents (1)

    @hackage/proto3-suite
  • Package Flags

      build-all-modules
       (off by default)

      Build all test modules in Size

      use-ghc-dump
       (off by default)

      use ghc-dump to output AST sizes

      profile-allzip
       (off by default)

      Include experiment to verify size of AllZip is linear

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.