English
Related papers

Related papers: Alice or Bob?: Process Polymorphism in Choreograph…

200 papers

Choreographies specify multiparty interactions via message passing. A realisation of a choreography is a composition of independent processes that behave as specified by the choreography. Existing relations of correctness/completeness…

Software Engineering · Computer Science 2023-06-22 Laura Bocchi , Hernan Melgratti , Emilio Tuosto

We introduce a meta-model based on formal languages, dubbed formal choreographic languages, to study message-passing systems. Our framework allows us to generalise standard constructions from the literature and to compare them. In…

Logic in Computer Science · Computer Science 2024-02-14 Franco Barbanera , Ivan Lanese , Emilio Tuosto

Effectful programs interact in ways that go beyond simple input-output, making compositional reasoning challenging. Existing work has shown that when such programs are ``separate'', i.e., when programs do not interfere with each other, it…

Programming Languages · Computer Science 2023-03-06 Pedro H. Azevedo de Amorim , Justin Hsu

Context-oriented programming (COP) is a new technique for programming that allows changing the context in which commands execute as a program executes. Compared to object-oriented programming (aspect-oriented programming), COP is more…

Programming Languages · Computer Science 2014-02-25 Mohamed A. El-Zawawy , Eisa A. Aleisa

Programming distributed applications free from communication deadlocks and races is complex. Preserving these properties when applications are updated at runtime is even harder. We present DIOC, a language for programming distributed…

Programming Languages · Computer Science 2015-04-01 Mila Dalla Preda , Maurizio Gabbrielli , Saverio Giallorenzo , Ivan Lanese , Jacopo Mauro

Technical computing is a challenging application area for programming languages to address. This is evinced by the unusually large number of specialized languages in the area (e.g. MATLAB, R), and the complexity of common software stacks,…

Programming Languages · Computer Science 2018-08-13 Jeff Bezanson , Jake Bolewski , Jiahao Chen

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction.…

Programming Languages · Computer Science 2022-03-04 Henry Mercer , Cameron Ramsay , Neel Krishnaswami

Coordination protocols help programmers of distributed systems reason about the effects of transactions on the state of the system, but they're not cheap. Coordination protocols may involve multiple rounds of communication, which can hurt…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-09-21 Rolando Garcia , Giulia Guidi

Choreographic programming is a paradigm where developers write the global specification (called choreography) of a communicating system, and then a correct-by-construction distributed implementation is compiled automatically. Unfortunately,…

Logic in Computer Science · Computer Science 2023-03-01 Luís Cruz-Filipe , Fabrizio Montesi

Our aim here is to illustrate how the benefits of structural corecursion can be found in a broader swath of the programming landscape than previously thought. Beginning from a tutorial on structural corecursion in the total, pure functional…

Programming Languages · Computer Science 2021-03-15 Paul Downen , Zena M. Ariola

Choreography creation is a multimodal endeavor, demanding cognitive abilities to develop creative ideas and technical expertise to convert choreographic ideas into physical dance movements. Previous endeavors have sought to reduce the…

Human-Computer Interaction · Computer Science 2024-02-21 Yimeng Liu , Misha Sra

Algebraic effects & handlers are a modular approach for modeling side-effects in functional programming. Their syntax is defined in terms of a signature of effectful operations, encoded as a functor, that are plugged into the free monad;…

Programming Languages · Computer Science 2023-02-06 Birthe van den Berg , Tom Schrijvers

In this paper we show how the abstract behaviours of higher-order systems can be modelled as final coalgebras of suitable behavioural functors. These functors have the challenging peculiarity to be circularly defined with their own final…

Logic in Computer Science · Computer Science 2016-07-12 Marco Peressotti

Choreographies describe distributed protocols from a global viewpoint, enabling correct-by-construction synthesis of local behaviours. We develop a policy-parametric type system that prevents information leaks from high-security data to…

Programming Languages · Computer Science 2026-02-26 Marco Bertoni , Saverio Giallorenzo , Marco Peressotti

With a view towards models of quantum computation and/or the interpretation of linear logic, we define a functional language where all functions are linear operators by construction. A small step operational semantic (and hence an…

Quantum Physics · Physics 2017-08-29 Pablo Arrighi , Gilles Dowek

Programmers increasingly rely on Large Language Models (LLMs) for code generation. However, misalignment between programmers' goals and generated code complicates the code evaluation process and demands frequent switching between prompt…

Software Engineering · Computer Science 2023-12-27 Ryan Yen , Jiawen Zhu , Sangho Suh , Haijun Xia , Jian Zhao

In this paper, we introduce Choreographer, a simulation framework that enables a holistic system-level evaluation of fine-grained accelerators designed for latency-sensitive tasks. Unlike existing frameworks, Choreographer captures all…

Hardware Architecture · Computer Science 2025-11-03 Hoa Nguyen , Pongstorn Maidee , Jason Lowe-Power , Alireza Kaviani

Deep learning is moving towards increasingly sophisticated optimization objectives that employ higher-order functions, such as integration, continuous optimization, and root-finding. Since differentiable programming frameworks such as…

Programming Languages · Computer Science 2021-04-15 Benjamin Sherman , Jesse Michel , Michael Carbin

Many automatic theorem provers are restricted to untyped logics, and existing translations from typed logics are bulky or unsound. Recent research proposes monotonicity as a means to remove some clutter when translating monomorphic to…

Logic in Computer Science · Computer Science 2019-03-14 Jasmin Christian Blanchette , Sascha Böhme , Andrei Popescu , Nicholas Smallbone

Process calculi based on logic, such as $\pi$DILL and CP, provide a foundation for deadlock-free concurrent programming. However, in previous work, there is a mismatch between the rules for constructing proofs and the term constructors of…

Logic in Computer Science · Computer Science 2019-04-16 Wen Kokke , Fabrizio Montesi , Marco Peressotti