llvm-hs
llvm-codegen
Our great sponsors
llvm-hs | llvm-codegen | |
---|---|---|
4 | 2 | |
498 | 47 | |
0.8% | - | |
0.0 | 6.5 | |
28 days ago | 7 months ago | |
LLVM | Haskell | |
BSD 3-clause "New" or "Revised" License | 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:
llvm-codegen
-
Is it viable to develop a compiler in haskell that uses LLVM
I used my own llvm-codegen library (https://github.com/luc-tielen/llvm-codegen) for this, it supports up to llvm14 but planning to upgrade to the latest as soon as I finish the docs for the eclair website. :)
-
Should I abandon using haskell for my compiler?
It looks like /u/ltielen decided to write his own LLVM library targeting the latest LLVM, so I guess he saw the same issues you are seeing with the llvm-hs bindings and decided to create his own.
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.)
kaleidoscope
llvm-general-quote - Use QuasiQuotation with llvm-general
eclair-lang - A minimal, fast Datalog implementation in Haskell that compiles to LLVM IR
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