‹Programming› 2020
Mon 23 - Thu 26 March 2020 Porto, Portugal
Thu 26 Mar 2020 14:00 - 14:30 at Auditorium - Thinking Concurrently Chair(s): Matthew Flatt

Multitier programming languages reduce the complexity of developing distributed systems by developing the distributed system in a single coherent code base. The compiler or the runtime separate the code for the components of the distributed system, enabling abstraction over low level implementation details such as data representation, serialization and network protocols. Our ScalaLoci language allows developers to declare the different components and their architectural relation at the type level, allowing static reasoning about about distribution and remote communication and guaranteeing static type safety across components. The compiler splits the multitier program into the component-specific code and automatically generates the communication boilerplate. Communication between components can be modeled by declaratively specifying data flows between components using reactive programming.

In this paper, we report on the implementation of our design and our experience with embedding our language features into Scala as a host language. We show how a combination of Scala’s advanced type level programming and its macro system can be used to enrich the language with new abstractions. We comment on the challenges we encountered and the solutions we developed for our current implementation and outline suggestions for an improved macro system to support the such use cases of embedding of domain-specific abstractions.

Thu 26 Mar

Displayed time zone: Belfast change

14:00 - 15:30
Thinking ConcurrentlyResearch Papers at Auditorium
Chair(s): Matthew Flatt University of Utah
14:00
30m
Research paper
Implementing a Language for Distributed Systems: Choices and Experiences with Type Level and Macro Programming in Scala
Research Papers
Pascal Weisenburger Technische Universität Darmstadt, Guido Salvaneschi Technische Universität Darmstadt
Link to publication DOI Pre-print
14:30
30m
Research paper
Reference Capabilities for Safe Parallel Array Programming
Research Papers
Beatrice Åkerblom Stockholm University, Elias Castegren Uppsala University, Tobias Wrigstad Uppsala University
Link to publication DOI Pre-print
15:00
30m
Research paper
Gavial: Programming the web with multi-tier FRP
Research Papers
Bob Reynders Chonnam National University, Frank Piessens KU Leuven, Dominique Devriese Vrije Universiteit Brussel
Link to publication DOI Pre-print