A tour of Gallifrey, a language for geodistributed programming

Matthew Milano, Rolph Recto, Tom Magrino, Andrew C. Myers

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations


Programming efficient distributed, concurrent systems requires new abstractions that go beyond traditional sequential programming. But programmers already have trouble getting sequential code right, so simplicity is essential. The core problem is that low-latency, high-availability access to data requires replication of mutable state. Keeping replicas fully consistent is expensive, so the question is how to expose asynchronously replicated objects to programmers in a way that allows them to reason simply about their code. We propose an answer to this question in our ongoing work designing a new language, Gallifrey, which provides orthogonal replication through restrictions with merge strategies, contingencies for conflicts arising from concurrency, and branches, a novel concurrency control construct inspired by version control, to contain provisional behavior.

Original languageEnglish (US)
Title of host publication3rd Summit on Advances in Programming Languages, SNAPL 2019
EditorsBenjamin S. Lerner, Rastislav Bodik, Shriram Krishnamurthi
PublisherSchloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
ISBN (Electronic)9783959771139
StatePublished - Jul 1 2019
Externally publishedYes
Event3rd Summit on Advances in Programming Languages, SNAPL 2019 - Providence, United States
Duration: May 16 2019May 17 2019

Publication series

NameLeibniz International Proceedings in Informatics, LIPIcs
ISSN (Print)1868-8969


Conference3rd Summit on Advances in Programming Languages, SNAPL 2019
Country/TerritoryUnited States

All Science Journal Classification (ASJC) codes

  • Software


  • Distributed systems
  • Linear types
  • Programming languages
  • Weak consistency


Dive into the research topics of 'A tour of Gallifrey, a language for geodistributed programming'. Together they form a unique fingerprint.

Cite this