Blog
-
Compiling typed Python
June 19, 2023
-
Writing a symbolizer for the Cinder JIT
November 3, 2022
-
How we use binary search to find compiler bugs
October 18, 2022
-
How the Cinder JIT's inliner works
May 2, 2022
-
Recursive Python objects
May 2, 2019
-
Understanding the 100 prisoners problem
March 11, 2019
-
Bytecode compilers and interpreters
January 4, 2019
-
JumboSmash: a technical retrospective
July 13, 2018
-
How to mess with your roommate
May 29, 2018
-
Driving student programs
April 13, 2018
-
I'm confused
January 13, 2018
-
How to shoot yourself in the foot without really trying
October 6, 2017
-
An error in ML that caused me much grief
October 19, 2016
-
The cost of applying to college: data
January 2, 2014
-
A quest for anonymity
September 20, 2012
-
DNS tunneling, or, how to get around Gogo
August 20, 2012
-
Dictionary
August 13, 2012
-
New public key!
July 25, 2012
Runtime optimization, the series
Compiling a Lisp, the series
-
Compiling a Lisp: Overture
August 29, 2020
-
Compiling a Lisp: The smallest program
August 30, 2020
-
Compiling a Lisp: Integers
August 31, 2020
-
Compiling a Lisp: Booleans, characters, nil
September 2, 2020
-
Compiling a Lisp: Primitive unary functions
September 5, 2020
-
Compiling a Lisp: Primitive binary functions
September 16, 2020
-
Compiling a Lisp: Reader
September 22, 2020
-
Compiling a Lisp: Let
October 1, 2020
-
Compiling a Lisp: If
October 7, 2020
-
Compiling a Lisp: Heap allocation
October 11, 2020
-
Compiling a Lisp: Instruction encoding interlude
October 19, 2020
-
Compiling a Lisp: Labelled procedure calls
October 29, 2020
Writing a Lisp, the series
-
Writing a Lisp, Part 0: Fundamentals
October 27, 2016
-
Writing a Lisp, Part 1: Booleans
October 28, 2016
-
Writing a Lisp, Part 2: Symbols
November 1, 2016
-
Writing a Lisp, Part 3: Lists
December 6, 2016
-
Writing a Lisp, Part 4: Environments
December 19, 2016
-
Writing a Lisp, Part 5: If-Expressions
December 19, 2016
-
Writing a Lisp, Part 6: Primitives 1
December 27, 2016
-
Writing a Lisp, Part 7: Primitives 2
January 18, 2017
-
Writing a Lisp, Part 8: ASTs
January 31, 2017
-
Writing a Lisp, Part 9: Quote
February 1, 2017
-
Writing a Lisp, Part 10: Closures
February 7, 2017
-
Writing a Lisp, Part 11: Primitives 3
February 9, 2017
-
Writing a Lisp, Part 12: Metacircular Evaluator
March 1, 2017
-
Writing a Lisp, Part 13: Let
March 14, 2017
-
Writing a Lisp, Part 14: Comments
March 15, 2017
-
Writing a Lisp, Part 15: I/O
March 18, 2017
-
Writing a Lisp, Part 16: Standard Library
March 22, 2017
-
Writing a Lisp, Part 17: Modules
May 2, 2017
-
Writing a Lisp, Part 18: No Define
May 11, 2017