typelevel-rewrite-rules
rewrite rules for type-level equalities (by gelisam)
Our great sponsors
typelevel-rewrite-rules | IdrisExtSTGCodegen | |
---|---|---|
4 | 6 | |
61 | 24 | |
- | - | |
1.2 | 0.0 | |
4 days ago | over 1 year ago | |
Haskell | Idris | |
LicenseRef-PublicDomain | GNU General Public License v3.0 or later |
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.
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.
-
Comparing polymorphic function arguments with GHC
I encountered a similar issue in typelevel-rewrite-rules. The user writes type PlusAssoc a b c = ((a + b) + c) ~ (a + (b + c)) to indicate that they want a type like (2 + x) + 1 to be rewritten to 2 + (x + 1). Thus, I want to be able to look at (2 + x) + 1 and learn that yes, it matches the pattern (a + b) + c, with the substitution a = 2, b = x, c = 1.
-
[ANN/RFC] constraint-rules
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
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
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
IdrisExtSTGCodegen
Posts with mentions or reviews of IdrisExtSTGCodegen.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-05-19.
-
is dependent haskell still a thing?
In practice we will probably have an STG backend for Idris2 before a dependent Haskell, then at least you could link together Haskell and Idris code
-
What are you hyped about today?
I write an Idris2 backend which compiles to STG, yesterday we achieved to run the HelloWorld using functions from GHC.Base :) https://github.com/andorp/IdrisExtSTGCodegen/commit/0150510a7d6160806a85d799768d39f9acc65d30#diff-a15cf9e0e0625f8260bb7b91a4f4ca8e4f4558acf37d4cc834acd2e8a4cdf89aR6
-
Transpiling to GHC Core language
There is a WIP Idris2 to Ext-STG compiler: https://github.com/andorp/IdrisExtSTGCodegen
-
BOB 2021 Andor Penzes - STG Backend for Idris2
Ah, the repo also has the slides of the talk, which are a nice first step to video-less content.
-
Next-gen Haskell Compilation Techniques
| 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
What are some alternatives?
When comparing typelevel-rewrite-rules and IdrisExtSTGCodegen you can also consider the following projects:
funspection - Type-level function utilities
Idris2 - A purely functional programming language with first class types
uom-plugin - Units of measure as a GHC typechecker plugin
ghc-whole-program-compiler-project - GHC Whole Program Compiler and External STG IR tooling
type-eq - Type equality evidence you can carry around
manual-stg-experiment - Manually constructed STG programs compiled with the standard GHC codegen backend.
normalization-bench - Lambda normalization and conversion checking benchmarks for various implementations
typelevel-rewrite-rules vs funspection
IdrisExtSTGCodegen vs Idris2
typelevel-rewrite-rules vs uom-plugin
IdrisExtSTGCodegen vs ghc-whole-program-compiler-project
typelevel-rewrite-rules vs type-eq
IdrisExtSTGCodegen vs manual-stg-experiment
typelevel-rewrite-rules vs ghc-whole-program-compiler-project
IdrisExtSTGCodegen vs normalization-bench