Hi! I’m Michael Arntzenius, or “rntz” online. I study programming languages, in theory and practice. My PhD thesis project was Datafun, a functional query language. I currently work at RelationalAI.
You can email me (qnrxunery@tznvy.pbz, encoded rot13) or find me on Twitter as @arntzenius and Mastodon as @rntz@recurse.social. I’m rntz on GitHub, Goodreads, and Keybase. I have a Twitch but never use it.
Aug 2024 |
Cafés of Cambridge
My favorite places to work. |
Jan 2019 syntax types |
Simple, generic, type-safe substitution in Agda
How to avoid needing a new case for every typing rule. |
Jan 2019 syntax types |
Representing binding in Agda using functions as contexts
A simple technique for implementing type-safe substitution. |
Jul 2018 |
Could an archaeologist grok an iPhone? |
Jul 2018 syntax |
Parsing list comprehensions is hard
... because it’s hard to tell patterns & expressions apart. |
May 2018 haskell |
Why I am not a fan of Cabal or Stack
Their UI sucks, their docs suck, and they can’t uninstall. |
Mar 2018 |
Against software development
A techno-pessimist “manifesto”, god help me. |
Jan 2018 books |
Ursula Le Guin is dead
She’s survived by many great women writers; here are a few. |
Oct 2017 math |
Semilattices and their tensor products
On distributed computing, databases and dictionaries. |
Jan 2017 pl |
Aphorisms on programming language design
Every decision that matters is a tradeoff. |
Jun 2016 lisp pl syntax |
Not everything is an expression
Lisp macros add new expression forms. What about patterns? |
Jul 2014 pl types |
Option and null in dynamic languages
To use |
Jun 2014 pl syntax |
Monoids, scope, and extensibility
Can monoids be a basis for scoped syntactic extensibility? |
Jun 2014 pl types |
On dynamic and static types
Type theory is useful even in dynamic languages. |
Nov 2011 logic |
Belief is indexed by proof system
“Belief” in intuitionistic or classical logic need not be exclusive. |
Mar 2009 arc pl syntax |
Intuitive hygienic macros
Hygiene is lexical scoping for macros; to implement it, I use syntactic closures. |
Feb 2009 pl types |
An odd type inference problem
Recursion + polymorphism + type inference = complicated. |
Jan 2009 haskell pl |
Languages as models of computation
... and monads as tool for model-changing. |
Aug 2008 objects pl types |
OO and pattern-matching
Classes are types are predicates are patterns. Dynamic dispatch is pattern-matching, ordered by specificity. |