Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.
DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.
In the face of the increasing trend in application development to interact with more and more remote services, and cognizant of the fact that issues arising from data consistency and task coordination are core challenges in distributed programming, the systems and data management communities have taken a keen interest in developing eventually consistent coordination-free models of distributed programming. These efforts have a striking similarity; they can all be characterized by the use of monotone functions as fundamental primitives of composition as well as the monotonic evolution of data over time. Yet, ensuring that application code conforms to the monotonicity constraints of these programming models is a tricky and manual affair, without support from the underlying language or system. In this paper, we present Monotonicity Types, a language and type system for proving functions monotone, which we believe could enable the customization and extension of this class of distributed programming models. We provide a full formalization of Monotonicity Types, including a novel operational semantics oriented from the perspective inside of a function, as well as a type soundness proof using logical relations.
Aleksander Slawomir Boruch-Gruszecki
Martin Odersky, Aleksander Slawomir Boruch-Gruszecki, Yichen Xu
Martin Odersky, Aleksander Slawomir Boruch-Gruszecki