Objects are useful because they are natural modules, that is, building blocks from which larger systems are defined. Static type systems are essential for fine grained control what information is exposed in a module, and, conversely, what one is free to change inside a module. A good module or object system should follow three principles:
Everything can be nested in a module.
Everything can be parameterized with a module.
Module types are interfaces, which can be abstracted.
In this talk Martin will present DOT, a particularly simple calculus that can express systems following these principles. DOT has been developed as the foundation of the next version of Scala. He will also report on dotty, a new Scala compiler that implements the constructs of DOT in its core data structures and that uses the lessons learned to drive Scala’s evolution.
Martin Odersky created the Scala programming language and is a professor in the programming research group at EPFL, the leading technical university in Switzerland. Throughout his career, Martin’s singular objective has been to make the basic job of writing programs faster, easier and more enjoyable. In the process, he has personally written more lines of Java and Scala code than almost any other individual in the world. He wrote javac, the compiler used by the majority of today’s Java programmers, and scalac, the compiler used by the fast-growing Scala community. He authored “Programming in Scala,” the best-selling book on Scala. Previously he has held positions at IBM Research, Yale University, University of Karlsruhe and University of South Australia, after having obtained his doctorate from ETH Zürich as a student of Niklaus Wirth, the creator of Pascal.