johannesgerer / large-records

Library to support efficient compilation of large records (linear in the number of record fields)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scalable records in Haskell

This repository contains all of the work on scalable records in Haskell:

  • large-records provides scalable named records (records that are declared before they are used, just like standard Haskell records).
  • large-anon provides scalable anonymous records.
  • large-generics is the generics library that supports both large-records and large-anon.
  • beam-large-records provides integration for large-records with beam.
  • typelet provides experimental support for type-level sharing.
  • large-records-benchmarks contains a large number of benchmarks measuring the (compile time) performance of the large-records library.

For a detailed overview on compile time performance of large-records, see the benchmarks report.

The problems addressed by these libraries are discussed in a series of blog posts:

as well as in various presentations:

About

Library to support efficient compilation of large records (linear in the number of record fields)


Languages

Language:Haskell 97.5%Language:Gnuplot 2.2%Language:Shell 0.3%