Next-gen Haskell Compilation Techniques

This page summarizes the projects mentioned and recommended in the original post on /r/haskell

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com
featured
  1. ghc-whole-program-compiler-project

    GHC Whole Program Compiler and External STG IR tooling

    Remarks: 1. Strict functional languages can be expressed in STG without overhead, because STG has explicit liftedness control. In a strict language every data is unlifted or unboxed. 2. Supporting all GHC primops is not unrealistic. See the primop implementation in the external STG interpreter source code. Here is the implementation of the threading primops.

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. normalization-bench

    Lambda normalization and conversion checking benchmarks for various implementations

    I benchmarked lambda term normalization, which is heavy on closures (HOAS) and small allocation, and there V8 RTS performance was clearly inferior, and I even had stability issues with deep stack usage.

  4. manual-stg-experiment

    Manually constructed STG programs compiled with the standard GHC codegen backend.

    Yes, unlifted boxed STG values does not have thunk checks. The STG to Cmm codegen generates only a single ADT tag lookup code. You can check the generated ASM code: https://github.com/csabahruska/manual-stg-experiment https://github.com/csabahruska/manual-stg-experiment/blob/master/StgSample.hs#L390-L391

  5. IdrisExtSTGCodegen

    | The Idris language versions have always supported easy and modular code generation. I am working on the Idris-ExtSTG backend closely collaborating with Csaba. The progress can be followed here: https://github.com/andorp/IdrisExtSTGCodegen . I am going to give a talk about my experiences at BobKonf 2021: https://bobkonf.de/2021/penzes.html

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • ELI5: Why does the new Javascript backend need to live in GHC instead of consuming GHC-WPC output?

    1 project | /r/haskell | 20 Dec 2022
  • Why is the debugger so bad in Haskell? (or is it just me)

    3 projects | /r/haskell | 19 Oct 2021
  • Haskell program inspector tooling development

    1 project | /r/haskell | 23 Jul 2021
  • What are you hyped about today?

    2 projects | /r/haskell | 15 May 2021
  • Transpiling to GHC Core language

    4 projects | /r/haskell | 30 Apr 2021

Did you know that Haskell is
the 25th most popular programming language
based on number of references?