< Terug naar vorige pagina

Publicatie

Scalagna 0.1: Towards Multi-tier Programming with Scala and Scala.Js

Boekbijdrage - Boekhoofdstuk Conferentiebijdrage

© 2018 Association for Computing Machinery. 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 Links 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 - 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.
Boek: Programming'18 Companion: Conference Companion of the 2nd International Conference on Art, Science, and Engineering of Programming
Pagina's: 69 - 74
ISBN:978-1-4503-5513-1
Jaar van publicatie:2018
Toegankelijkheid:Open