← All repos

kaleidoscope

Haskell LLVM JIT Compiler Tutorial

compilerhaskellkaleidoscopellvm-bindingsllvm-tutorialtutorial
Browse cluster: Functional Programming & Type Theory
152commits
17contributors
6languages

Tech stack & purpose

Kaleidoscope is a tutorial project for building a small programming language compiler in Haskell using LLVM, created by Stephen Diehl. The project demonstrates how to use Haskell with LLVM bindings to implement a JIT compiler, with the tutorial content available in multiple formats including HTML and PDF. The implementation is organized by chapters and can be built using Stack, Cabal, or Make, requiring GHC 7.8 or newer and LLVM 4.0. The source code is released under the MIT license, while the tutorial text is adapted from the LLVM tutorial and licensed under the LLVM license.

Community & reference links

Languages

Haskell
94.1%
CSS
2.9%
Makefile
1.4%
C
1.2%
LLVM
0.3%
Shell
0.1%

Contributors