sdiehl/write-you-a-haskell resource
Building a modern functional compiler from first principles. (http://dev.stephendiehl.com/fun/) observed · 2026-08-28
Health v2 · maintenance only
32/100
- Activity 0
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 4258
- days_rel: n/a
- days_push: 2060
- n_releases_24m: 0
Adoption not part of the score
3482 stars · 257 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
A free online book by Stephen Diehl that teaches how to build a modern functional language compiler from first principles in Haskell. It covers parsing, lambda calculus, type systems, Hindley-Milner inference, and code generation to LLVM.
Use cases
- learn how compilers work
- implement hindley-milner type inference
- build a functional programming language
- learn haskell through a compiler project
- understand type systems and type checking
- generate code with llvm from a custom language
When to choose
- you want a deep, principled walkthrough of building a functional compiler
- you want to learn type inference and type theory with concrete Haskell code
- you prefer a free book with HTML and PDF versions
When to avoid
- you need a production compiler or library
- you want a finished resource - the book is a work in progress with later chapters incomplete
- you are a Haskell beginner with no functional programming background
Facets
learning-resource · maturity maintenance
compiler interpreter parser type-system documentation compilers programming-languages tutorials cross-platform book hindley-milner type-inference lambda-calculus functional-programming pdf-book llvm type-theory haskell
1 source
- readme: https://github.com/sdiehl/write-you-a-haskell · fetched 2026-08-28 · a21cfbce13ae
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| sdiehl/write-you-a-haskell | main | 32 |
For agents
markdown · JSON · MCP: product_card(name="sdiehl/write-you-a-haskell")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem