How to Break TypeScript (and How to Put it Back Together) - Benjamin Hodgson
A cautionary lesson in language design. TypeScript features a rich, modern type system, and I'm going to abuse it. In fact, I'm going to completely break it, showing some programs which subvert type safety without using any of TypeScript's unsafe features (that's cheating!) We'll see an example of how a seemingly-simple programming language feature can open a Pandora's Box of complexity, interacting with the rest of the system in subtle and unexpected ways. I'll outline some paths the TypeScript designers could take to regain some safety. By the end of this talk, you'll come away with a deeper understanding of type systems, and a sense of sympathy for language designers and their difficult jobs.
January 16, 2017