Programming Language Theory and Practice
- Lambda Calculus
- Category Theory
- Type Systems
- Homoiconicity
- Functional Programming
- Object Oriented Programming
- Domain Specific Languages
- Implementation
- Virtual Machines
- LLVM
- JIT
- Garbage Collection
- Parsing
- Language Server Protocol
- Incremental Compilation
Lambda Calculus
Category Theory
Type Systems
Dependent Types
Homoiconicity
Functional Programming
Object Oriented Programming
Domain Specific Languages
- 2015/05 Domain-Specific Languages vs. Notation
- 2017/03 How to write a DSL (in Python with Lark)
- 2018/07 Designing good DSL
- 2019/05 DSLs for non-programmers are a hoax
- 2020/04 The Power of Tiny DSLs
Implementation
Virtual Machines
LLVM
JIT
Garbage Collection
- The Garbage Collection Handbook
- Boehm: A garbage collector for C and C++
- Writing a Simple Garbage Collector in C
- 2012/12 Garbage collection thoughts
- 2013/09 A tour of V8: Garbage Collection
- 2013/12 Baby’s First Garbage Collector
- 2014/11 Exploring ARC
- 2015/04 ARC In Depth: Part I
- 2015/06 ARC In Depth: Part II
- 2015/04 Building a lower-latency GC
- 2015/07 A Well Known But Forgotten Trick: Object Pooling
- 2016/02 A toy generational garbage collector
- 2016/04 Malloc Envy
- 2016/09 Under the Hood - Performance Considerations of a Garbage Collector
- 2017/12 A Beginner’s Guide to Garbage Collection
- 2018/11 Garbage Collection is a Hack
- 2018/11 Common Mistakes about Generational Garbage Collection
- 2019/05 For Better Computing, Liberate CPUs From Garbage Collection
- 2019/12 Deciding when to collect garbage
- 2020/03 An in-depth Look at OCaml’s new “Best-fit” Garbage Collector Strategy
- 2021/02 The Trouble with Reference Counting
- 2021/09 .NET CLR Garbage Collection
- 2022/02 Dumpster diving the Go garbage collector
Parsing
Language Server Protocol
- Language Server Protocol
- GitHub - sourcegraph/emacs-lsp: LSP support for Emacs
- 2017/02 Why You Should Know the Language Server Protocol
- 2017/04 Language Server Protocol: A Language Server For DOT With Visual Studio Code
- 2018/05 Extending a client with the language server protocol
- 2019/03 r/ A LSP client maintainer's view of the LSP protocol.