- Notifications
You must be signed in to change notification settings - Fork129
Haskell LLVM JIT Compiler Tutorial
License
Unknown, MIT licenses found
Licenses found
sdiehl/kaleidoscope
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A short guide to building a tiny programming language in Haskell with LLVM.
Read Online:
You will need GHC 7.8 or newer as well as LLVM 4.0. For information on installing LLVM 4.0 (not 3.9 or earlier)on your platform of choice, take a look at theinstructions posted by the llvm-hs maintainers.
With Haskell and LLVM in place, you can use either Stack or Cabal to install the necessary Haskellbindings and compile the source code from each chapter.
$ stack build
You can then run the source code from each chapter (starting with chapter 2) as follows:
$ stackexec chapter2
Ensure thatllvm-config
is on your$PATH
, then run:
$ cabal sandbox init$ cabal configure$ cabal install --only-dependencies
Then to run the source code from each chapter (e.g. chapter 2):
$ cabal run chapter2
The source code for the example compiler of each chapter is included in the/src
folder. With the dependenciesinstalled globally, these can be built using the Makefile at the root level:
$ make chapter2$ make chapter6
A smaller version of the code without the parser frontend can be found in thellvm-tutorial-standalonerepository. The LLVM code generation technique is identical.
This is an open source project, patches and corrections always welcome.
To generate the HTML page:
$ make tutorial.html
A standalone PDF can also be generated with:
$ make tutorial.pdf
Text is adapted from the LLVM tutorial and is subsequently licensed under theLLVM license.
The Haskell source files are released under the MIT license. Copyright (c)2013-2016, Stephen Diehl
About
Haskell LLVM JIT Compiler Tutorial