PL
Halting problems demonstrates the fundamental limit of computers – not every well-defined problem can be solved. Posed by Alan Turing in 1936.
Language design blogs
- Without boats, dreams dry up
- Kyju (Catherine West)
- Small Cult Following (Niko Matsakis)
- Compiler Club (Colin James)
- Ginger Bill (author of Odin)
- Max Bernstein
- Chris Fallin
Basics
- Ad-hoc polymorphism = function and operator overloading.
- Parametric polymorphism.
- Type erasure = Types on the type level, boxing in the runtime.
- Implementing generics: monomorphization and boxing
Generics and templates
- The Link Between Generics, Compile Times, Type-Erasure, Cloud Building, and Hot-Code Reloading
- Models of Generics and Metaprogramming: Go, Rust, Swift, D and More - Tristan Hume
Links
- The Programming Languages Zoo
- PLT by steshaw
- glyh/awesome-pl-buzzwords: An awesome list for PL buzzwords/concepts
- CS 6110 is Cornell’s graduate class on programming languages
- Introduction to Linear Types
- Programming Language Foundations in Agda – Table of Contents by Philip Wadler
- A Beginner's Guide to Programming Language Academia - Ryan Brewer (2024)