Write a Blog >>
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Thu 26 Oct 2017 10:30 - 10:52 at Regency A - Types and Language Design Chair(s): Mario Wolczko

Parametric polymorphism and inheritance are both important, extensively explored language mechanisms for providing code reuse and extensibility. But harmoniously integrating these apparently distinct mechanisms—and powerful recent forms of them, including type classes and family polymorphism—in a single language remains an elusive goal. In this paper, we show that a deep unification can be achieved by generalizing the semantics of interfaces and classes. The payoff is a significant increase in expressive power with little increase in programmer-visible complexity. Salient features of the new programming language include retroactive constraint modeling, underpinning both object-oriented programming and generic programming, and module-level inheritance with further-binding, allowing family polymorphism to be deployed at large scale. The resulting mechanism is syntactically light, and the more advanced features are transparent to the novice programmer. We describe the design of a programming language that incorporates this mechanism; using a core calculus, we show that the type system is sound. We demonstrate that this language is highly expressive by illustrating how to use it to implement highly extensible software and by showing that it can not only concisely model state-of-the-art features for code reuse, but also go beyond them.

Thu 26 Oct
Times are displayed in time zone: (GMT-07:00) Tijuana, Baja California change

10:30 - 12:00: OOPSLA - Types and Language Design at Regency A
Chair(s): Mario WolczkoOracle Labs
splash-2017-OOPSLA10:30 - 10:52
Yizhou ZhangCornell University, Andrew Myers
splash-2017-OOPSLA10:52 - 11:15
Adrian SampsonCornell University, Kathryn S McKinleyGoogle, Todd MytkowiczMicrosoft Research
DOI Pre-print
splash-2017-OOPSLA11:15 - 11:37
Sylvan ClebschImperial College London, Juliana FrancoImperial College London, Sophia Drossopoulou, Albert Mingkun Yang, Tobias WrigstadUppsala University, Jan VitekNortheastern University, USA
splash-2017-OOPSLA11:37 - 12:00
Ryan ScottIndiana University, Omar Navarro-LeijaUniversity of Pennsylvania, USA, Ryan R. NewtonIndiana University, Joseph DeviettiUniversity of Pennsylvania