typehackery

a collection of stuff that isn't supposed to be written in the type system but is.

directory

  • arc puzzles from the ARC-AGI prize competition
  • docs book; see below

book

want to learn how to do some of this black magic? i will be writing a small tutorial that will hopefully teach you some of the tricks and thought process involved. the type system is powerful and shouldn't be gatekept!

please note that i will assume you already have a basic understanding of typescript and how it works. it is highly recommended that you at least know what the following ideas mean:

  • duck/structural typing
  • nominal typing
  • covariance/contravariance/invariance/bivariance
  • supertype/subtype/superset/subset
  • homomorphism
  • finite state machines
  • functional programming
  • soundness