Write a Blog >>
GPCE 2016
Mon 31 October - Tue 1 November 2016 Amsterdam, Netherlands
co-located with SPLASH 2016
Mon 31 Oct 2016 16:10 - 16:40 at Zürich 1 - Code Generation and Synthesis Chair(s): Julia Lawall

This paper introduces typy, a statically typed programming language embedded by reflection into Python. Rather than defining a monolithic semantics, typy features a fragmentary semantics, i.e. it delegates semantic control over each term, drawn from Python’s fixed syntax, to a contextually relevant user-defined semantic fragment. This fragment programmatically 1) typechecks the term, and 2) assigns dynamic meaning to the term by computing its translation to Python. We argue that this design is expressive with examples of fragments that express the static and dynamic semantics of 1) functional records; 2) a variation on JavaScript’s prototypal object system; 3) labeled sums (with nested pattern matching a la ML); and 4) typed foreign interfaces to Python and OpenCL. These semantic structures are, or would need to be, defined primitively in other languages. We further argue that this design is compositionally well- behaved. It sidesteps the problems of grammar composition and the expression problem by allowing different fragments to deterministically share a fixed syntax. Moreover, programs are semantically stable under fragment composition.

Mon 31 Oct

gpce-2016-papers
15:40 - 17:20: GPCE - Code Generation and Synthesis at Zürich 1
Chair(s): Julia LawallInria/LIP6
gpce-2016-papers15:40 - 16:10
Talk
Mina LeeKorea University, Sunbeom SoKorea University, Hakjoo OhKorea University
gpce-2016-papers16:10 - 16:40
Talk
Cyrus OmarCarnegie Mellon University, Jonathan AldrichCarnegie Mellon University
gpce-2016-papers16:40 - 17:10
Talk
Jörg KienzleMcGill University, Canada, Gunter MussbacherMcGill University, Omar AlamTrent University, Philippe ColletUniversity of Nice
gpce-2016-papers17:10 - 17:25
Talk
Sorin AdamConpleks Innovation, Marco Kuhrmann, Ulrik SchultzUniversity of Southern Denmark