ECOOP 2018
Sun 15 - Sat 21 July 2018 Amsterdam, Netherlands
co-located with ECOOP and ISSTA 2018
Thu 19 Jul 2018 16:00 - 16:25 at Zurich II - Languages Chair(s): Yu David Liu

Many dynamically typed languages (including JavaScript, Ruby, Python or Racket) support first-class classes, or related concepts such as first-class traits and/or mixins. In those languages classes are first-class values and, like any other values, they can be passed as an argument, or returned from a function. Furthermore first class classes support dynamic inheritance: i.e. they can inherit from other classes at runtime, enabling programmers to abstract over the inheritance hierarchy. In contrast, type system limitations prevent most statically typed languages from having first-class classes and dynamic inheritance.

This paper shows the design of SEDEL: a polymorphic statically typed language with first- class traits, supporting dynamic inheritance as well as conventional OO features such as dynamic dispatching and abstract methods. The type system for SEDEL is based on the recent work on disjoint intersection types and disjoint polymorphism. However, such previous work is aimed at core calculi, and omits important features for practical OO languages, including (dynamic) inheritance, dynamic dispatching and abstract methods. This paper addresses that gap by showing how to model source language constructs for traits that support such missing features. Inspired by Cook’s work on the denotational semantics for inheritance, we show how to design a source language that can be elaborated into Alpuim et al.’s Fi which is a polymorphic calculus with records supporting disjoint polymorphism. We illustrate the applicability of SEDEL with several example uses for first-class traits, and a case study that modularizes programming language interpreters using a highly modular form of visitors.

Thu 19 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

16:00 - 17:15
LanguagesECOOP Research Papers at Zurich II
Chair(s): Yu David Liu State University of New York, Binghamton
16:00
25m
Research paper
Typed First-Class Traits
ECOOP Research Papers
Xuan Bi The University of Hong Kong, Bruno C. d. S. Oliveira University of Hong Kong, China
DOI
16:25
25m
Research paper
CrySL: An Extensible Approach to Validating the Correct Usage of Cryptographic APIs
ECOOP Research Papers
Stefan Krüger University of Paderborn, Johannes Späth Fraunhofer IEM, Karim Ali University of Alberta, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM, Mira Mezini TU Darmstadt
DOI
16:50
25m
Research paper
Safe Transferable Regions
ECOOP Research Papers
Gowtham Kaki Purdue University, G. Ramalingam Microsoft Research
DOI