Links
Blog Posts
- (How to Write a (Lisp) Interpreter (in Python))
tutorial, python
- Baby’s First Type Checker
types, typechecking, tutorial
- Demystifying MLsub — the Simple Essence of Algebraic Subtyping
types
- X Design Notes: Unifying OCaml Modules and Values
- Making an LSP for great good
lsp, tutorial, rust
- How To Make a Fast Dynamic Language Interpreter
optimization
- A Complete Guide to LLVM for Programming Language Creators
llvm, tutorial, c++
- An accessible introduction to type theory and implementing a type-checker
types, typechecking, tutorial
- Counterexamples in Type Systems
- Writing a Simple Garbage Collector in C
garbage-collection, tutorial, c
- Learn Assembly by Writing Entirely Too Many Brainfuck Compilers
assembly, compilers, tutorial
- Flattening ASTs (and Other Compiler Data Structures)
AST
- How to implement dependent types in 80 lines of code
type type-system type-checking
- Make A Language
tutorial, rust
- Simple but Powerful Pratt Parsing
parsing, pratt-parsing
- An Incremental Approach to Compiler Construction
assembly, ast, compiler, pdf
- My First Language Frontend with LLVM Tutorial
llvm, tutorial
- The Compiler Is Your Best Friend, Stop Lying to It
compilers
- No Semicolons Needed
- Simple Bidirectional Type Inference
types, type inference, tutorial
- How to Choose Between Hindley-Milner and Bidirectional Typing
typing, type inference
- Are arrays functions?
syntax, language-design
- Super-flat ASTs
ast
- Beyond Booleans
types
- Implement your language twice
- That XOR Trick
Interesting
Books
Languages
- Wren Another language by Robert Nystrom