|
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
|