typelevel-rewrite-rules VS ghc-whole-program-compiler-project

Compare typelevel-rewrite-rules vs ghc-whole-program-compiler-project and see what are their differences.

typelevel-rewrite-rules

rewrite rules for type-level equalities (by gelisam)

ghc-whole-program-compiler-project

GHC Whole Program Compiler and External STG IR tooling (by grin-compiler)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
typelevel-rewrite-rules ghc-whole-program-compiler-project
4 9
61 113
- 0.0%
3.0 8.8
4 months ago 5 months ago
Haskell Haskell
LicenseRef-PublicDomain -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

typelevel-rewrite-rules

Posts with mentions or reviews of typelevel-rewrite-rules. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-10.
  • [ANN/RFC] constraint-rules
    3 projects | /r/haskell | 10 Sep 2021
    Nice! Thanks for including a comparison with my package typelevel-rewrite-rules. Since my package indeed struggles with infinite loops introduced by self-triggering rewrite rules, I would like to better understand why your package doesn't suffer from that same problem.
  • Transpiling to GHC Core language
    4 projects | /r/haskell | 30 Apr 2021
    When writing a typechecker plugin, you can eliminate constraints from the user's program by providing an implementation of the corresponding dictionary. The way you provide that dictionary to ghc is by providing a core expression; for example, this evCast futureDict co expression has type EvTerm, whose first constructor takes an EvExpr, which is a synonym for CoreExpr.
  • [GHC Proposals] GHC Maintainer preview
    4 projects | /r/haskell | 3 Apr 2021
    Until then, I guess we can simply poll. Here's a GitHub Action I wrote today which checks if the latest report for a given package includes a failure: https://github.com/gelisam/typelevel-rewrite-rules/blob/main/.github/workflows/check-hackage-matrix.yml

ghc-whole-program-compiler-project

Posts with mentions or reviews of ghc-whole-program-compiler-project. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-06.
  • Can GHCi be run like PDB?
    3 projects | /r/haskell | 6 Jan 2023
    Another thing you can try is the ghc-wpc project which has an interpreter which supports breakpoints, though you may need to hack little a bit to achieve your goals.
  • Haskell compiled onto LLVM increase performance?
    4 projects | /r/haskell | 2 Nov 2021
    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.
  • Why is the debugger so bad in Haskell? (or is it just me)
    3 projects | /r/haskell | 19 Oct 2021
    I can easily debug any Haskell program with the external STG interpreter. https://www.youtube.com/watch?v=DkDUEd3pUyM https://github.com/grin-compiler/ghc-whole-program-compiler-project
  • What are you hyped about today?
    2 projects | /r/haskell | 15 May 2021
    I haven't gotten my hands dirty yet, but really excited hearing GHC-WPC is going on!
  • GHC Pluggable Backend?
    4 projects | /r/haskell | 4 May 2021
    Why didn't you mention GHC-WPC? It is also a backend sample. It exports enough information (STG + linker opts + c bits) to interpret the program or to generate a binary executable via the regular GHC codegen system. https://github.com/grin-compiler/ghc-whole-program-compiler-project
  • Transpiling to GHC Core language
    4 projects | /r/haskell | 30 Apr 2021
    You could use the GHC codegen and RTS via the external STG IR. https://github.com/grin-compiler/ghc-whole-program-compiler-project
  • Next-gen Haskell Compilation Techniques
    4 projects | /r/haskell | 10 Jan 2021
    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.

What are some alternatives?

When comparing typelevel-rewrite-rules and ghc-whole-program-compiler-project you can also consider the following projects:

funspection - Type-level function utilities

haskell.nix - Alternative Haskell Infrastructure for Nixpkgs

IdrisExtSTGCodegen

hs-foreign-emscripten - INTERCEPT GHCJS CCALL DISPATCH TO EMSCRIPTEN

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

uom-plugin - Units of measure as a GHC typechecker plugin

type-eq - Type equality evidence you can carry around

ghc-dump - A GHC plugin and library for analysing GHC Core

hint - Runtime Haskell interpreter

ghc-wpc - GHC-WPC is an extended GHC that exports the STG and other IR (.modpak) for the compiled modules and linker metadata (.ghc_stgapp) at application link time.

manual-stg-experiment - Manually constructed STG programs compiled with the standard GHC codegen backend.