journal.stuffwithstuff.com ↓ about me

Stuff I Wrote About Programming Languages

date title tags
2025 May 26 Access Control Syntax code language vgs
2023 Oct 19 Does Go Have Subtyping? code go language vgs
     Aug 04 Representing Heterogeneous Data code language vgs
     Jan 03 Type Checking If Expressions code language vgs
2021 Jul 29 640 Pages in 15 Months book design language personal
2020 Apr 05 Crafting “Crafting Interpreters” book design language personal
2015 Feb 01 What Color is Your Function? code dart go javascript language lua
2013 Dec 08 Baby’s First Garbage Collector c code language
     Aug 26 What is “Open Recursion”? code dart language
     Jul 18 JavaScript Isn’t Scheme code js language scheme
     Apr 23 Playing with Generics in TypeScript 0.9.0 code dart language typescript
     Apr 17 Well Done: A Sentinel Value code go language magpie
     Feb 24 Iteration Inside and Out, Part 2 code dart go language lua magpie python ruby
     Jan 13 Iteration Inside and Out code dart language magpie ruby
2012 Dec 19 The Impoliteness of Overriding Methods beta code language oop
     Jun 12 Multimethods, Global Scope, and Monkey-Patching code language magpie
2011 Oct 29 A Proposal for Null-Safety in Dart code dart language
     Oct 21 Wrapping My Head Around Optional Typing code dart language
     Jun 06 Magpie Wants You! code language magpie oscon
     Apr 21 Multimethods, Multiple Inheritance, Multiawesome! code cpp java js language magpie
     Mar 19 Pratt Parsers: Expression Parsing Made Easy code java js language magpie parsing
     Feb 21 Multiple Inheritance in JavaScript code javascript language
     Feb 13 Extending Syntax from Within a Language code java language magpie parsing
     Jan 16 Pattern Matching in a Dynamic OOP Language c code js language magpie
2010 Dec 31 Rethinking User-Defined Operators code cpp go java language magpie parsing
     Dec 14 The Trouble with Constructors code language magpie
     Nov 08 Refining Exceptions and Error Codes code language magpie
     Oct 29 Bootstrapping a Type System code java language magpie
     Oct 21 The Language I Wish Go Was code go language
     Oct 01 Solving the Expression Problem code java language magpie
     Sep 28 Ruby Blocks, Python’s “with”, and Magpie’s Test Suite code language magpie python ruby
     Sep 18 Future-Proofing, Uniform Access, and Masquerades c-sharp code java language magpie
     Sep 01 A Type Checking Conundrum! code language magpie
     Aug 31 Type Checking a Dynamic Language code java language magpie python
     Aug 23 “void”, “null”, “Maybe” and “nothing” code java language magpie
     Aug 01 Class in the Front, Proto in the Back code java language magpie
     Jul 24 Killing Primitive Loops and Conditionals code finch language
     Jul 23 What I Learned at the Emerging Languages Camp code language parsing
     Jul 18 Jasic: A Complete Interpreter in One Java File code jasic language parsing
     Jul 13 Fibers: Coroutines in Finch code cpp finch game-dev language
     Jun 25 Methods on the Ether: Or Creating Your Own Control Structures for Fun and Profit code finch language
2009 Dec 26 Conditional Binding with “let” in Magpie code language magpie
     Jun 05 Naming Things in Code code language
     May 15 Loops in Magpie c-sharp code language magpie
     May 13 ML-Style Pattern Matching in C# c-sharp code f-sharp language
     May 05 One and Only One code language magpie
     Apr 26 Stupid Magpie Tricks (Or: Yes, I’m Making a Programming Language Like Everyone Else) code language magpie
2008 Dec 28 Fixing Ambiguities in Grammars code f-sharp language parsing