llvm-hs
kaleidoscope
Our great sponsors
llvm-hs | kaleidoscope | |
---|---|---|
4 | 1 | |
498 | 5 | |
0.8% | - | |
0.0 | 8.5 | |
about 1 month ago | 8 days ago | |
LLVM | Haskell | |
BSD 3-clause "New" or "Revised" License | - |
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.
llvm-hs
-
Is it viable to develop a compiler in haskell that uses LLVM
The llvm-hs GitHub has branches for LLVM 12 and even LLVM 15. I believe the LLVM 12 version works pretty well, but I am not sure of the LLVM 15 version.
-
Should I abandon using haskell for my compiler?
Looking at the network graph, it looks like there are forks which mention llvm-12 branches, which may be more up to date.
-
Monthly Hask Anything January 2021
I found this in the readme of llvm-hs:
kaleidoscope
-
Is it viable to develop a compiler in haskell that uses LLVM
We currently have all of the kaleidoscope chapters working for LLVM 12 using llvm-hs, you can check the code here: https://github.com/andrescollares/kaleidoscope, the project is not tidy at all yet but you can get it up and running quickly given that the environment is containerized.
What are some alternatives?
llvm-general - Rich LLVM bindings for Haskell (with transfer of LLVM IR to and from C++, detailed compilation pass control, etc.)
llvm-codegen - LLVM code generation in Haskell
llvm-general-quote - Use QuasiQuotation with llvm-general
llvm - Haskell bindings to the LLVM compiler infrastructure project.
llvm-pretty - An llvm pretty printer inspired by the haskell llvm binding
llvm-pretty-bc-parser - Parser for the llvm bitcode format
dataflow - Render graphs using a declarative markup.
haskell-generate - Type-safe library for generating haskell source code
flexible-defaults - Template Haskell system for implementing type classes with complex default-implementation rules
sugarhaskell - Library-based Language Extensibility
anvill - anvill forges beautiful LLVM bitcode out of raw machine code
harpy - Runtime code generation for x86 machine code