Haskell compiled onto LLVM increase performance?

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • grin

    GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support. (by grin-compiler)

  • There is the GRIN optimizer that is implemented based on Urban Boqist PhD thesis. It works really well with LLVM because GRIN removes all indirect calls so it allows LLVM to do its job really well. But Boq GRIN PhD does not tell how to support the complex GHC primop and RTS features. That's why I have another direction as well.

  • ghc-whole-program-compiler-project

    GHC Whole Program Compiler and External STG IR tooling

  • Here the goal is to build a high level, easy to understand model for all GHC backend features. Validations is also required. Once we know the semantics of GHC primops and RTS features then it becomes possible to figure out how to compile Haskell programs to GRIN. I started the GHC-WPC project for this reason. GHC-WPC exports the STG intermediate representation for the whole Haskell program, and I wrote an STG interpreter from scratch in Haskell that can run any Haskell program. (i.e. GHC itself) The STG interpreter is the high level model for the GHC primop and RTS semantics. It implements all these in pure Haskell, it does not depend on GHC RTS at all.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • hoogle

    Haskell API search engine

  • The other source of haskell documentation is hackage, which features both libraries and higher-level GHC modules. Using hoogle (!hoogle or !hgl in DDG), you can search these docs by module name, function name, or even type signature.

  • hackage-server

    Hackage-Server: A Haskell Package Repository

  • The other source of haskell documentation is hackage, which features both libraries and higher-level GHC modules. Using hoogle (!hoogle or !hgl in DDG), you can search these docs by module name, function name, or even type signature.

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