POPL 2017
Sun 15 - Sat 21 January 2017
Fri 20 Jan 2017 15:10 - 15:35 at Auditorium - Gradual Typing and Contracts Chair(s): Ronald Garcia

Many language designers have adopted gradual typing. However, there remains open questions for them regarding how to gradualize their languages. Recently, a methodology and algorithm was proposed for generating the static semantics of a gradually typed language from a fully-static version of the language. In this paper, we address the more difficult challenge of how to automatically generate the dynamic semantics of gradually typed languages. Gradually-typed languages typically make use of an intermediate language with explicit casts, so we first offer a methodology for generating the syntax and type system of the intermediate language with casts.
Next, we present an algorithm that takes as input the dynamic semantics of the fully-static language and outputs the dynamic semantics for casts. We show that our approach is general enough to gradualize several languages, including features such as polymorphism, recursive types and exceptions. We prove that our algorithm produces cast languages that always satisfy the key correctness criteria of gradual typing. We implement these algorithms in a tool that can generate the complete specification of gradually typed languages in lambda-prolog, including their executable interpreters.

Fri 20 Jan

POPL-2017-papers
14:20 - 16:00: POPL - Gradual Typing and Contracts at Auditorium
Chair(s): Ronald GarciaUniversity of British Columbia
POPL-2017-papers14:20 - 14:45
Talk
Michael Vitousek, Cameron SwordsIndiana University, Jeremy G. SiekIndiana University Bloomington
POPL-2017-papers14:45 - 15:10
Talk
Nicolás Lehmann, Éric TanterUniversity of Chile, Chile
Link to publication DOI Pre-print
POPL-2017-papers15:10 - 15:35
Talk
Matteo CiminiIndiana University, USA, Jeremy G. SiekIndiana University Bloomington
POPL-2017-papers15:35 - 16:00
Talk
Khurram A. JaferyUniversity of British Columbia, Joshua DunfieldUniversity of British Columbia