In Scala, the data type generic programming library shapeless is the tool that people reach for when they have problems involving abstraction over data types of different shapes and sizes. But suppose we wanted to support this sort of generic programming directly in the language? What sort of primitive mechanisms would we choose? In this talk I will argue that kind-polymorphism, the ability to abstract over type constructors of any arity, is one we should give serious consideration to. I will demonstrate a prototype implementation in the Typelevel Scala compiler and show how it can be used to dramatically simplify generic programming in Scala.
Program Display Configuration
Mon 16 Jul
Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Viennachange