Mar 7, 2018
When Miles Sabin applied to speak at a conference on generic programming, he bluffed a little bit. He would present on porting Simon Peytons Jone’s scrap your boilerplate functionality to Scala. Once his talk was accepted, he only had one thing left to do, implement it.
Generic programming is the type of polymorphism your language does not directly support. To me this seems paradoxical, as once you implement a solution, the language, or at least a library within the language can now support it. This recursive definition and a speaking deadline led Miles to create shapeless. Years later he is still pushing the bounds on what you can do in Scala, including recently getting support for literal types added to scalac 2.13.