typelevel-rewrite-rules VS funspection

Compare typelevel-rewrite-rules vs funspection and see what are their differences.

funspection

Type-level function utilities (by thomaseding)
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 funspection
4 -
61 0
- -
1.2 0.0
4 days ago over 3 years ago
Haskell Haskell
LicenseRef-PublicDomain BSD 3-clause "New" or "Revised" License
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.
  • Comparing polymorphic function arguments with GHC
    1 project | /r/haskell | 30 Nov 2022
    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
    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

funspection

Posts with mentions or reviews of funspection. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning funspection yet.
Tracking mentions began in Dec 2020.

What are some alternatives?

When comparing typelevel-rewrite-rules and funspection you can also consider the following projects:

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

type-eq - Type equality evidence you can carry around

ghc-whole-program-compiler-project - GHC Whole Program Compiler and External STG IR tooling

type-level-numbers - Implementation of type level natural and signed integer numbers in haskell using type families.

IdrisExtSTGCodegen

constraint-rules - Extend GHC's type checker with user-defined rules, without writing a type checker plugin.