Haskell Compiler

Open-source Haskell projects categorized as Compiler | Edit details

Top 23 Haskell Compiler Projects

  • Elm

    Compiler for Elm, a functional language for reliable webapps.

    Project mention: A "lawful" framework for styling/formatting UIs? | reddit.com/r/ProgrammingLanguages | 2022-05-01
  • idris

    A Dependently Typed Functional Programming Language

    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/)

    Project mention: Type inference of letrec in Algorithm W | reddit.com/r/haskell | 2022-05-10

    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

  • binaryen

    A Haskell to WebAssembly compiler

    Project mention: hint: Runtime Haskell interpreter | reddit.com/r/haskell | 2022-05-01

    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.

  • futhark

    :boom::computer::boom: A data-parallel functional programming language

    Project mention: Futhark - Merge AD (autodiff) support into master (#1641) · diku-dk/[email protected] | reddit.com/r/contextfree | 2022-05-04
  • wasp

    A programming language that understands what a web app is.

    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 .

  • haste-compiler

    A GHC-based Haskell to JavaScript compiler

    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.

  • kaleidoscope

    Haskell LLVM JIT Compiler Tutorial

    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.

    [0] https://www.stephendiehl.com/llvm/

    [1] https://github.com/jozefg/pcf/

  • 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-08

    You 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.

  • egison

    The Egison Programming Language

    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.

  • accelerate

    Embedded language for high-performance array computations (by AccelerateHS)

    Project mention: Introduction to Doctests in Haskell | reddit.com/r/haskell | 2022-04-19

    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.

  • pi-forall

    A demo implementation of a simple dependently-typed language

    Project mention: How to learn type checking and type theory? | reddit.com/r/ProgrammingLanguages | 2021-09-07
  • morte

    A bare-bones calculus-of-constructions

  • husk-scheme

    A full implementation of the Scheme programming language for the Haskell Platform.

    Project mention: Oldest Scheme Implementations | reddit.com/r/scheme | 2022-04-03

    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)

  • glambda

    The home of the Glamorous Glambda interpreter

  • lawvere

    A categorical programming language with effects

    Project mention: Lawvere: A categorical programming language with effects | news.ycombinator.com | 2021-07-18
  • inspection-testing

    Inspection Testing for Haskell

    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.

  • codec-beam

    Generate Erlang VM byte code from Haskell

  • ghc-proofs

    Let GHC prove program equations for you

  • accelerate-llvm

    LLVM backend for Accelerate

  • ajhc

    A fork of jhc. And also a Haskell compiler.

  • wasm

    Haskell WebAssembly Toolkit

  • bound

    Combinators for manipulating locally-nameless generalized de Bruijn terms

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-05-10.

Haskell Compiler related posts


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
Find remote jobs at our new job board 99remotejobs.com. There are 8 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives