morloc VS typelevel-rewrite-rules

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

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
morloc typelevel-rewrite-rules
3 4
193 61
1.0% -
9.2 3.0
14 days ago 4 months ago
Haskell Haskell
GNU General Public License v3.0 only 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.

morloc

Posts with mentions or reviews of morloc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-07-29.

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

What are some alternatives?

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

flexible-defaults - Template Haskell system for implementing type classes with complex default-implementation rules

funspection - Type-level function utilities

haskell-generate - Type-safe library for generating haskell source code

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

sugarhaskell - Library-based Language Extensibility

type-eq - Type equality evidence you can carry around

llvm-pretty-bc-parser - Parser for the llvm bitcode format

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

llvm-general-quote - Use QuasiQuotation with llvm-general

IdrisExtSTGCodegen

harpy - Runtime code generation for x86 machine code

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