mirror of
https://github.com/grin-compiler/grin.git
synced 2024-09-11 07:25:28 +03:00
GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support.
compilerdata-flow-analysisfunctional-programminghaskellllvmoptimisationstarred-grin-compiler-repostarred-repo
grin | ||
images | ||
papers | ||
x64 | ||
.gitignore | ||
bench.sh | ||
Design.md | ||
Readings.md | ||
README.md | ||
RUNTIME.md | ||
stack.yaml | ||
TODO.md |
GRIN
The name GRIN is short for Graph Reduction Intermediate Notation, and it is an intermediate language for graph reduction. For an overview read The GRIN Project article. To grasp the details take your time and read Urban Boquist's PhD thesis on Code Optimisation Techniques for Lazy Functional Languages .
![](https://raw.githubusercontent.com/andorp/grin/master/images/grin-syntax.png)
Simplification Transformations
Transformation | Schema |
---|---|
vectorisation | ![]() |
case simplification | ![]() |
split fetch operation | ![]() |
right hoist fetch operation | ![]() |
register introduction | ![]() |