journal.stuffwithstuff.com ↓ about me

Stuff I Wrote About Programming Languages

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