I build data visualizations 📈 at Datadog and I'm the author and maintainer of TS-Pattern, the most popular pattern matching library for TypeScript, which makes heavy use of type-level programming techniques.
I started TS-Pattern as an experiment to see how far the type system of TypeScript could go, and boy, I didn't expect it could go that far. I discovered a full-fledged programming language with its own concepts and logic. What felt like magic at the beginning started to make sense. I could predict how my complex types were going to behave — my mental model was getting better and better.
The thing is that not enough people understand the extent of what TypeScript can do. The type system isn't more complicated than another programming language, but we don't consider it as such and that's why no one learns it properly.
It's time for this to change! I hope Type-level TypeScript will help spread the knowledge about type-level programming in the TypeScript community!
This started as a workshop I gave at Devoxx Paris together with Florent Le Gall, who I'd like to thank for helping create and reflect on the content of this course.
Find me online!
On Twitter 👉 @GabrielVergnaud
On GitHub 👉 @gvergnaud
If you enjoy Type-level TypeScript, consider sponsoring my work on GitHub!