License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/DARTS.6.2.13
URN: urn:nbn:de:0030-drops-132109
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2020/13210/
Go back to Dagstuhl Artifacts Series


Fowler, Simon

Model-View-Update-Communicate: Session Types Meet the Elm Architecture (Artifact)

pdf-format:
DARTS-6-2-13.pdf (0.3 MB)


Abstract

Model-View-Update (MVU) is a development pattern for user interfaces pioneered by the Elm programming language. In the accompanying paper, we show a theoretical model of MVU, and detail how it can be extended to support session-typed communication.
This artifact consists of a Docker image which contains a version of the Links programming language, equipped with an MVU library supporting session-typed communication. The implementation is showcased by all examples provided in the paper, alongside larger examples including a two-factor authentication workflow and multi-room chat server.

BibTeX - Entry

@Article{fowler:DARTS:2020:13210,
  author =	{Simon Fowler},
  title =	{{Model-View-Update-Communicate: Session Types Meet the Elm Architecture (Artifact)}},
  pages =	{13:1--13:2},
  journal =	{Dagstuhl Artifacts Series},
  ISSN =	{2509-8195},
  year =	{2020},
  volume =	{6},
  number =	{2},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2020/13210},
  URN =		{urn:nbn:de:0030-drops-132109},
  doi =		{10.4230/DARTS.6.2.13},
  annote =	{Keywords: Session types, concurrent programming, Model-View-Update}
}

Keywords: Session types, concurrent programming, Model-View-Update
Collection: DARTS, Volume 6, Issue 2, Special Issue of the 34th European Conference on Object-Oriented Programming (ECOOP 2020)
Related Scholarly Article: https://doi.org/10.4230/LIPIcs.ECOOP.2020.14
Issue Date: 2020
Date of publication: 06.11.2020


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI