‹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

proweb-2018-papers
11:00 - 12:30: ProWeb 2018 - Session 2 at Matisse
proweb-2018-papers11:00 - 11:25
Full-paper
proweb-2018-papers11:25 - 11:50
Full-paper
Bob Reyndersimec-DistriNet, KU Leuven, Belgium, Michael Greefs, Dominique DevrieseKU Leuven, Frank PiessensKU Leuven
proweb-2018-papers11:50 - 12:15
Talk
Simon FowlerThe University of Edinburgh, Sam LindleyUniversity of Edinburgh, UK, J. Garrett MorrisUniversity of Kansas, USA, Sara Décova
proweb-2018-papers12:15 - 12:30
Talk