this year my challenge for is to implement my own (statically typed) language and solve every task with it, adding features to the language as I go. basic implementation and first day are ready!

codeberg.org/goldstein/aoc2025

I kinda cheated by implementing System F typechecking a couple of days before the challenge starts, but this still means I had to implement parsing + ADTs and basic pattern matching + let-in + primitive types + builtins + typing for all that stuff + de Bruijn indexing + evaluation in the first day, which is the primary downside of this challenge. System F typing was mostly mechanical anyway, I was just following a paper (Complete and Easy Bidirectional Typechecking for Higher-Rank Polymorphism by Dunfield and Krishnaswami).

I spent last month preparing for this (reading TAPL and various papers, thinking about language design), so I’m pretty excited to actually attempt it.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://im-in.space/users/goldstein/statuses/115646734541156582 on your instance and quote it. (Note that quoting is not supported in Mastodon.)