GRIN backend for GHC
See the codeGRIN backend for GHC
The project is under heavy development.
Currently I work on the high level semantic model of GHC primop and RTS.
This work is hosted in a spearate repository: https://github.com/grin-compiler/ghc-whole-program-compiler-project
GHC-GRIN can not compile programs yet.
custom AST Data type for GHC Core STG with serialization support and tooling
modified GHC which serializes the core STG AST of each compiled module using external-stg, and calls an external tool to link them at link-time
utility (lambda calculus) layer for GRIN frontends
converts the dumped GHC Core STG to Lambda
sample (stack based) projects to test the modified GHC with the GRIN backend
Follow these steps to install GHC/GRIN and compile the benchmark programs:
$ ./boot$ ./configure$ hadrian/build.sh -j --flavour=Quickest#!/bin/sh
exit 0
llvm-7 (on Mac: brew install llvm-hs/llvm/llvm-7)
this will take some time to finish..ghc-grin/:stack setupstack build#!/bin/sh
set -e
echo "GRIN Compiler"
ghc-grin $@ | tee ${!#}.out
ghc-grin-benchmark:./cComparison of Boquist PhD results (Sparc, RISC) with GHC 8.2 (x64, CISC) based on the CPU instruction count. This is not an accurate comparison as the CPU architectures differ, instead it gives a rough overview.
Instruction Count Benchmark

387 commits
1 commits
Haskell
87.4%
ANTLR
11.0%
Shell
1.1%
GRIN backend for GHC
See the codeGRIN backend for GHC
The project is under heavy development.
Currently I work on the high level semantic model of GHC primop and RTS.
This work is hosted in a spearate repository: https://github.com/grin-compiler/ghc-whole-program-compiler-project
GHC-GRIN can not compile programs yet.
custom AST Data type for GHC Core STG with serialization support and tooling
modified GHC which serializes the core STG AST of each compiled module using external-stg, and calls an external tool to link them at link-time
utility (lambda calculus) layer for GRIN frontends
converts the dumped GHC Core STG to Lambda
sample (stack based) projects to test the modified GHC with the GRIN backend
Follow these steps to install GHC/GRIN and compile the benchmark programs:
$ ./boot$ ./configure$ hadrian/build.sh -j --flavour=Quickest#!/bin/sh
exit 0
llvm-7 (on Mac: brew install llvm-hs/llvm/llvm-7)
this will take some time to finish..ghc-grin/:stack setupstack build#!/bin/sh
set -e
echo "GRIN Compiler"
ghc-grin $@ | tee ${!#}.out
ghc-grin-benchmark:./cComparison of Boquist PhD results (Sparc, RISC) with GHC 8.2 (x64, CISC) based on the CPU instruction count. This is not an accurate comparison as the CPU architectures differ, instead it gives a rough overview.
Instruction Count Benchmark

387 commits
1 commits
Haskell
87.4%
ANTLR
11.0%
Shell
1.1%