Functional Programming in TypeScript
In this article, we show how to use TypeScript to implement Haskell concepts like algebraic data types, higher-kinded types, tagless final, and more.