SPLASH 2014
Mon 20 - Fri 24 October 2014 Portland, Oregon, United States
Thu 23 Oct 2014 14:15 - 14:37 at Salon E - Languages Chair(s): Crista Lopes

Values need to be represented differently when interacting with certain language features. For example, an integer needs to take an object-like representation when interacting with erased generics, although, for performance reasons, it normally uses the direct representation. In order to simplify the work of programmers, languages like ML and Scala expose the high-level concept (the integer) and let the compiler handle representation and conversion.

This pattern appears in multiple language features such as value classes, specialization and multi-stage programming mechanisms: they all expose a concept which they later refine into multiple representations. Yet, their implementations are ad-hoc and entangle the core mechanism with assumptions about the alternative representation and the implementation of generics, thus losing sight of the general principle.

In this paper we present an elegant and minimalistic type-driven generalization that subsumes and improves the state-of-the-art representation transformations. In doing so, we make two key observations: (1) annotated types conveniently capture the semantics of using alternative representations and (2) local type inference can be used to automatically, reliably and optimally introduce the necessary conversions.

We validated our approach by implementing three language features in the Scala compiler: value classes, specialization via miniboxing and a simplified multi-stage programming mechanism. An encouraging result was that we were able to reimplement and extend value class functionality in the Scala compiler with the equivalent of two man-weeks of work, without reusing any code from the previous implementation.

Thu 23 Oct

Displayed time zone: Tijuana, Baja California change

13:30 - 15:00
LanguagesOOPSLA at Salon E
Chair(s): Crista Lopes University of California, Irvine
13:30
22m
Talk
Distributed REScala: An Update Algorithm for Distributed Reactive Programming
OOPSLA
Joscha Drechsler Technische Universität Darmstadt, Guido Salvaneschi TU Darmstadt, A: Ragnar Mogk Technische Universität Darmstadt, A: Mira Mezini Technical University of Darmstadt
Link to publication
13:52
22m
Talk
From Object Algebras to Attribute Grammars
OOPSLA
Tillmann Rendel University of Marburg, Jonathan Immanuel Brachthäuser University of Marburg, Klaus Ostermann University of Marburg
Link to publication
14:15
22m
Talk
Late Data Layout: Unifying Data Representation Transformations
OOPSLA
Vlad Ureche EPFL, Eugene Burmako EPFL, Martin Odersky Ecole Polytechnique Federale de Lausanne
Link to publication
14:37
22m
Talk
i3QL: Language-Integrated Live Data Views
OOPSLA
Ralf Mitschke Technical University of Darmstadt, Sebastian Erdweg TU Darmstadt, Mirko Köhler Technical University of Darmstadt, Mira Mezini Technical University of Darmstadt, Guido Salvaneschi TU Darmstadt
Link to publication