SPLASH 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States
Thu 23 Oct 2014 10:52 - 11:15 at Salon E - Type Systems Chair(s): Ravi Chugh

A scalable programming language is one in which the same concepts can describe small as well as large parts. Towards this goal, Scala unifies concepts from object and module systems. An essential ingredient of this unification is the concept of objects with type members, which can be referenced through path-dependent types. Unfortunately, path-dependent types are not well-understood, and have been a roadblock in grounding the Scala type system on firm theory.

We study several calculi for path-dependent types. We present muDOT which captures the essence – DOT stands for Dependent Object Types. We explore the design space bottom-up, teasing apart inherent from accidental complexities, while fully mechanizing our models at each step. Even in this simple setting, many interesting patterns arise from the interaction of structural and nominal features.

Whereas our simple calculus enjoys many desirable and intuitive properties, we demonstrate that the theory gets much more complicated once we add another Scala feature, type refinement, or extend the subtyping relation to a lattice. We discuss possible remedies and trade-offs in modeling type systems for Scala-like languages.

Foundations of Path-Dependent Types (oopsla2014-amin.pdf)1.27MiB

Thu 23 Oct

Displayed time zone: Tijuana, Baja California change

10:30 - 12:00
Type SystemsOOPSLA at Salon E
Chair(s): Ravi Chugh University of Chicago
10:30
22m
Talk
Rate Types for Stream Programs
OOPSLA
Thomas W. Bartenstein SUNY Binghamton, Yu David Liu State University of New York (SUNY) Binghamton
Link to publication File Attached
10:52
22m
Talk
Foundations of Path-Dependent Types
OOPSLA
Nada Amin EPFL, Tiark Rompf Purdue & Oracle Labs, Martin Odersky Ecole Polytechnique Federale de Lausanne
Link to publication File Attached
11:15
22m
Talk
Confined Gradual Typing
OOPSLA
Esteban Allende , Johan Fabry University of Chile, Ronald Garcia University of British Columbia, Éric Tanter University of Chile
Link to publication
11:37
22m
Talk
Refactoring Java Generics by Inferring Wildcards, In Practice
OOPSLA
John Altidor University of Massachusetts, Yannis Smaragdakis University of Athens
Link to publication File Attached