topic: type systems
Everything I’ve written on the subject, from the beginning of this version of the site.
-
2020
-
May
-
02
-
25
-
Making Illegal States Unrepresentable—In TypeScript—JOURNAL
Showing how Scott Wlaschin’s approach in F♯ translates to a language with a very different type system.
-
-
-
Sep
-
05
-
Data Constructors, Part 1: Understanding by Implementing —JOURNAL
Understanding an idea from Standard ML-like languages by implementing it in (boring) TypeScript.
-
-
-
Oct
-
13
-
Data Constructors, Part 2: Better TypeScript —JOURNAL
A deep dive on more idiomatic TypeScript implementations of ML-style data constructors.
-
-
31
-
Notes on Thoughtbot’s “Stop Using 'any'”—JOURNAL
A couple tweaks and improvements to a good post!
-
-
-
-
2021
-
Jan
-
22
-
Using Classes for Functional Programming—JOURNAL
We tend to think classes are inherently for object-oriented programming, but they are much more flexible than that in JavaScript and TypeScript (and other languages too).
-
-
-
Nov
-
18
-
Reading “A Functional Programming Language with Versions”—LIBRARY
The first academic research I’m aware of which actually takes Semantic Versioning seriously!
-
-
-
-
2022
-
Jan
-
28
-
Announcement: Speaking at TypeVille 2022 —ELSEWHERE
On the subject of “Types as Tools for Thought”
-
-
-
May
-
19
-
Whiskey, Web, and Whatnot: Bringing Types to Ember ↩︎—❈—ELSEWHERE
Chatting with the good folks at ShipShape about TypeScript, Ember, composing, whiskey, and more.
-
-
-
-
2023
-
Dec
-
16
-
Why Not Type-Based Overloading in Rust?—JOURNAL
Too much spooky action at a distance.
-
-
-
-
2024
-
May
-
06
-
The Cutting Edge of Versioning (LambdaConf 2024)—ELSEWHERE
Semantic Versioning, library & framework evolution, programming language design, type systems, and you.
-
-
-
Jun
-
26
-
Changelog Interviews #597: Major.Semver.Patch ↩︎—❈—ELSEWHERE
Teaming up with Predrag Gruevski to talk SemVer with Adam and Jerod.
-
-
-
Dec
-
14
-
Runtime or Types?—NOTES
A false dichotomy! They always go together.
-
-
-
-
2025
-
Jan
-
21
-
The Essence of Successful Abstractions—JOURNAL
Complexity has to live somewhere; but it does not have to live everywhere.
-
-
-
That’s it for this topic… but there are many, many more!