TY - GEN
T1 - A tour of Gallifrey, a language for geodistributed programming
AU - Milano, Matthew
AU - Recto, Rolph
AU - Magrino, Tom
AU - Myers, Andrew C.
N1 - Publisher Copyright:
© Matthew Milano, Rolph Recto, Tom Magrino, and Andrew C. Myers.
PY - 2019/7/1
Y1 - 2019/7/1
N2 - 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.
AB - 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.
KW - Distributed systems
KW - Linear types
KW - Programming languages
KW - Weak consistency
UR - http://www.scopus.com/inward/record.url?scp=85069509823&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85069509823&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.SNAPL.2019.11
DO - 10.4230/LIPIcs.SNAPL.2019.11
M3 - Conference contribution
AN - SCOPUS:85069509823
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 3rd Summit on Advances in Programming Languages, SNAPL 2019
A2 - Lerner, Benjamin S.
A2 - Bodik, Rastislav
A2 - Krishnamurthi, Shriram
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
T2 - 3rd Summit on Advances in Programming Languages, SNAPL 2019
Y2 - 16 May 2019 through 17 May 2019
ER -