morloc
typelevel-rewrite-rules
morloc | typelevel-rewrite-rules | |
---|---|---|
3 | 4 | |
193 | 61 | |
0.0% | - | |
9.0 | 1.2 | |
1 day ago | 12 days ago | |
Haskell | Haskell | |
GNU General Public License v3.0 only | LicenseRef-PublicDomain |
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
- morloc-project/morloc: A typed, polyglot, functional language
-
Hacker News top posts: Jul 29, 2021
Morloc: Foreign languages unified under common functional type system\ (5 comments)
- Morloc: Foreign languages unified under common functional type system
typelevel-rewrite-rules
-
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
What are some alternatives?
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
harpy - Runtime code generation for x86 machine code
IdrisExtSTGCodegen
llvm-general-quote - Use QuasiQuotation with llvm-general
constraint-rules - Extend GHC's type checker with user-defined rules, without writing a type checker plugin.