Top 23 Haskell Compiler Projects
-
Project mention: A "lawful" framework for styling/formatting UIs? | reddit.com/r/ProgrammingLanguages | 2022-05-01
-
Project mention: What's the current status with packages/libraries on Idris? | reddit.com/r/Idris | 2021-11-28
So apparently there's a package manager called Inigo, but there are only a few packages in it. There's an idris-hackers group on github, that's linked from the idris-lang.org page. None of those libraries appear in Inigo though. So seems that Inigo isn't really a thing people are using.
-
SonarQube
Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
-
write-you-a-haskell
Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/)
This is the best resource I know of: http://dev.stephendiehl.com/fun/006\_hindley\_milner.html https://github.com/sdiehl/write-you-a-haskell/blob/master/chapter7/poly_constraints/src/Infer.hs
-
Also, hint uses unsafeCoerce, and thus implicitly relies on an assumption about how values are represented at runtime. Namely, if a program P is interpreting an expression E of type A, hint assumes that the value of type A produced by the ghc interpreter has the same representation as the values of type A which are manipulated by program P. This is not guaranteed to be the case, since P has been compiled by the compiler portion of ghc while E has been evaluated by the interpreter portion of ghc. This means the ghc devs had to carefully craft their compiler and interpreters to match. When targetting the browser, a Haskell-to-js or Haskell-to-wasm compiler such as Asterius modifies ghc's code-generator so it produces js or wasm code. You would thus also need to tweak the interpreter so that it produces js or wasm values which match what the modified code-generator outputs. Or you could restrict yourself to the hint's less expressive eval :: String -> String API.
-
Project mention: Futhark - Merge AD (autodiff) support into master (#1641) · diku-dk/[email protected] | reddit.com/r/contextfree | 2022-05-04
-
Project mention: Best practices for setting up CI tests for a Stack project? | reddit.com/r/haskell | 2022-04-26
You can check out current Github CI workflow here, it uses Cabal, to which we switched recently: https://github.com/wasp-lang/wasp/blob/main/.github/workflows/ci.yaml .
-
Project mention: Looking for small finished games developed in Haskell | reddit.com/r/haskell | 2021-11-09
My ludum-dare 34 entry does have scrolling, and some images which are only visible in some screens but not others. I didn't do any effort to load and unload them as required though, I just keep everything loaded at all times. One potential difficulty is that this game uses Haste to compile Haskell to JavaScript, soI don't know if your framework supports that.
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
Project mention: Implementing a LLVM Micro C compiler in Haskell | news.ycombinator.com | 2021-06-04
This is amazing. I tried following Stephen Diehl's JIT compiler in LLVM tutorial[0] a few years ago but it was already outdated (the llvm-hs library changed quite a bit), and subsequent web searches didn't turn up much.
For those interested in tutorials like this, I'd also recommend a very literate Haskell compiler for the PCF language to C[1], which is essentially lambda calculus with some primitives.
-
grin
GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support. (by grin-compiler)
Project mention: A New Backend for Standard ML of New Jersey | reddit.com/r/ProgrammingLanguages | 2021-12-08You could take a look at GRIN, which is an IR especially made for optimizing functional languages before passing them to something like LLVM. (keep in mind that that project is still very early in development) See also their paper.
-
Project mention: Let's talk about interesting language features. | reddit.com/r/ProgrammingLanguages | 2021-12-08
Egison language. Research language that does some really neat stuff with pattern matching.
-
Looking for a few projects that make use of it, I found accelerate, hawk, polysemy and pretty-simple, so I'll be interested to poke around in their code and see how they have things set up.
-
Project mention: How to learn type checking and type theory? | reddit.com/r/ProgrammingLanguages | 2021-09-07
-
-
Yes. One more -- the first (only?) Scheme written in Haskell, Husk, started in 2010 (which is the data of the commit for the first entry, "Initial version", in the Changelog)
-
-
Project mention: Lawvere: A categorical programming language with effects | news.ycombinator.com | 2021-07-18
-
Project mention: [ANN] core-warn: A package for detecting unexpected Core output! | reddit.com/r/haskell | 2021-10-23
Haven't tried it but afaik related: inspection-testing should allow you to assert various properties about the generated core.
-
-
-
-
-
-
Haskell Compiler related posts
- Type inference of letrec in Algorithm W
- Futhark - Merge AD (autodiff) support into master (#1641) · diku-dk/[email protected]
- hint: Runtime Haskell interpreter
- A "lawful" framework for styling/formatting UIs?
- Overview of the CMake controversy, and break down the pros and cons of the critical C++ tool.
- How do large projects prevent breaking changes?
- Type Annotation Decoration and Avoiding Regeneralization
Index
What are some of the best open-source Compiler projects in Haskell? This list will help you:
Project | Stars | |
---|---|---|
1 | Elm | 6,835 |
2 | idris | 3,341 |
3 | write-you-a-haskell | 3,117 |
4 | binaryen | 1,895 |
5 | futhark | 1,788 |
6 | wasp | 1,528 |
7 | haste-compiler | 1,429 |
8 | kaleidoscope | 936 |
9 | grin | 929 |
10 | egison | 842 |
11 | accelerate | 800 |
12 | pi-forall | 394 |
13 | morte | 361 |
14 | husk-scheme | 274 |
15 | glambda | 201 |
16 | lawvere | 199 |
17 | inspection-testing | 167 |
18 | codec-beam | 162 |
19 | ghc-proofs | 145 |
20 | accelerate-llvm | 139 |
21 | ajhc | 134 |
22 | wasm | 124 |
23 | bound | 111 |
Are you hiring? Post a new remote job listing for free.