‹Programming› 2018
Mon 9 - Thu 12 April 2018 Nice, France
Tue 10 Apr 2018 11:25 - 11:50 at Matisse - Session 2

In the state-of-practice, developing web applications requires dealing with multiple programming languages or codebases. To address this issue, researchers have proposed multi-tier languages such as Hop or Eliom that support client and server development in a single language and in one codebase. Even if such multi-tier languages are often strongly based on an existing language - for instance Hop is based on Scheme and Eliom on OCaml - they are new languages, and require a new compiler.

The objective of this paper is to define a multi-tier language as a library-based Scala DSL. Scala already supports compilation to both the Java VM and to JavaScript. The multi-tier language we propose in this paper, Scalagna, combines the existing Scala JVM and JavaScript ecosystems into a single programming model without requiring changes to, or rewrites of the existing Scala compilers. We discuss how this is possible using Scala’s excellent support for definining DSLs, and the experimental Scala macro system. We show that Scalagna has reasonable performance, and by porting an existing Eliom application, we provide evidence that Scalagna is as expressive as other established and existing multi-tier languages.

Tue 10 Apr

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

11:00 - 12:30
Session 2ProWeb at Matisse
11:00
25m
Full-paper
A Framework for Dynamic Inter-Device Task Dispatch with Eventual Consistency
ProWeb
11:25
25m
Full-paper
Scalagna 0.1: Towards Multi-tier Programming with Scala and Scala.js
ProWeb
Bob Reynders imec-DistriNet, KU Leuven, Belgium, Michael Greefs , Dominique Devriese KU Leuven, Frank Piessens KU Leuven
11:50
25m
Talk
Session Types for Tierless Web Applications
ProWeb
Simon Fowler The University of Edinburgh, Sam Lindley University of Edinburgh, UK, J. Garrett Morris University of Kansas, USA, Sara Décova
12:15
15m
Talk
Group discussion 2
ProWeb