Awesome Open Source
Awesome Open Source

Building a modern functional compiler from first principles.

Stephen Diehl

Build Status Gitter MIT License

Read Online:


This is a work in progress.


To generate the build scripts provision a cabal sandbox with pandoc in it. This is done by the write-you-a-haskell.cabal and stack.yaml files.


$ stack exec make

To generate the pdf, the LaTeX packages must be installed on the system.

$ sudo apt-get install texlive-xetex texlive-latex-extra
$ sudo apt-get install xzdec
$ sudo tlmgr install zapfding
$ stack exec make pdf

Generation of the epub is also supported.

$ stack exec make epub


$ cabal sandbox init
$ cabal install --only-dependencies
$ cabal exec bash
$ make


Any and all contributions are always welcome. As always, I rely on the perpetual kindness and goodwill of Haskellers (like you!) to help correct grammar, clarify, and fix errors.


Artwork CC BY NC SA

This written work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You may reproduce and edit this work with attribution for all non-commercial purposes.

The included source is released under the terms of the MIT License.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Haskell (32,342
Compiler (3,814
Functional Programming (3,085
Book (2,368
Types (932
Evaluation (376
Lambda Calculus (235
Type System (151
Related Projects