English
Related papers

Related papers: Back to Futures

200 papers

A wide-spectrum language integrates specification constructs into a programming language in a manner that treats a specification command just like any other command. This paper investigates a semantic model for a wide-spectrum language that…

Logic in Computer Science · Computer Science 2016-09-02 Robert J. Colvin , Ian J. Hayes , Larissa A. Meinicke

In fork-join parallelism, a sequential program is split into a directed acyclic graph of tasks linked by directed dependency edges, and the tasks are executed, possibly in parallel, in an order consistent with their dependencies. A popular…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-04-11 Maurice Herlihy , Zhiyu Liu

Formal, mathematically rigorous programming language semantics are the essential prerequisite for the design of logics and calculi that permit automated reasoning about concurrent programs. We propose a novel modular semantics designed to…

Programming Languages · Computer Science 2022-02-25 Crystal Chang Din , Reiner Hähnle , Ludovic Henrio , Einar Broch Johnsen , Violet Ka I Pun , Silvia Lizeth Tapia Tarifa

Patterns embody repeating phenomena, and, as such, they are partly but not fully detachable from their context. 'Design patterns' and 'pattern languages' are established methods for working with patterns. They have been applied in…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-09 Raymond Puzio , Paola Ricaurte , Charles Jeffrey Danoff , Charlotte Pierce , Analua Dutka-Chirichetti , Vitor Bruno , Hermano Cintra , Joseph Corneli

In this paper we examine how concurrency has been embodied in mainstream programming languages. In particular, we rely on the evolutionary talking borrowed from biology to discuss major historical landmarks and crucial concepts that shaped…

Programming Languages · Computer Science 2015-07-29 Silvia Crafa

In this paper, we develop a novel verification technique to reason about programs featuring concurrency, pointers and randomization. While the integration of concurrency and pointers is well studied, little is known about the combination of…

Logic in Computer Science · Computer Science 2024-10-01 Ira Fesefeldt , Joost-Pieter Katoen , Thomas Noll

With the increasing capabilities of Large Language Models (LLMs), parallel reasoning has emerged as a new inference paradigm that enhances reasoning robustness by concurrently exploring multiple lines of thought before converging on a final…

Computation and Language · Computer Science 2025-10-15 Ziqi Wang , Boye Niu , Zipeng Gao , Zhi Zheng , Tong Xu , Linghui Meng , Zhongli Li , Jing Liu , Yilong Chen , Chen Zhu , Hua Wu , Haifeng Wang , Enhong Chen

We present a framework that takes a concurrent program composed of unsynchronized processes, along with a temporal specification of their global concurrent behaviour, and automatically generates a concurrent program with synchronization…

Logic in Computer Science · Computer Science 2012-07-05 Roopsha Samanta

We propose a new concurrent model for imperative languages where concurrency occurs at a subprogram level. This model introduces a new {\it block sequential} statement of the form $#(G_1,\ldots,G_n)$ where each $G_i$ is a statement. This…

Programming Languages · Computer Science 2017-01-10 Keehang Kwon , Daeseong Kang

The semantics of assignment and mutual exclusion in concurrent and multi-core/multi-processor systems is presented with attention to low level architectural features in an attempt to make the presentation realistic. Recursive functions on…

Discrete Mathematics · Computer Science 2008-10-09 Victor Yodaiken

A future is a programming construct designed for concurrent and asynchronous evaluation of code, making it particularly useful for parallel processing. The future package implements the Future API for programming with futures in R. This…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-12 Henrik Bengtsson

A future is an entity representing the result of an ongoing computation. A synchronisation with a "get" operation blocks the caller until the computation is over, to return the corresponding value. When a computation in charge of fulfilling…

Programming Languages · Computer Science 2021-07-16 Nicolas Chappe , Ludovic Henrio , Amaury Maillé , Matthieu Moy , Hadrien Renaud

We propose a timed and soft extension of Concurrent Constraint Programming. The time extension is based on the hypothesis of bounded asynchrony: the computation takes a bounded period of time and is measured by a discrete global clock.…

Programming Languages · Computer Science 2015-10-07 Stefano Bistarelli , Maurizio Gabbrielli , Maria Chiara Meo , Francesco Santini

Leveraging Large Language Models (LLMs) for code generation has increasingly emerged as a common practice in the domain of software engineering. Relevant benchmarks have been established to evaluate the code generation capabilities of LLMs.…

Software Engineering · Computer Science 2026-03-05 Jue Huang , Tarek Mahmud , Corina Pasareanu , Guowei Yang

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected…

Logic in Computer Science · Computer Science 2018-12-11 Zhaowei Xu , Mingsheng Ying , Shenggang Ying

Multicore parallel programming has some very difficult problems such as deadlocks during synchronizations and race conditions brought by concurrency. Added to the difficulty is the lack of a simple, well-accepted computing model for…

Programming Languages · Computer Science 2010-12-09 Yibing Wang

A grammar formalism based upon CHR is proposed analogously to the way Definite Clause Grammars are defined and implemented on top of Prolog. These grammars execute as robust bottom-up parsers with an inherent treatment of ambiguity and a…

Computation and Language · Computer Science 2007-05-23 Henning Christiansen

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

Programming with logic for sophisticated applications must deal with recursion and negation, which together have created significant challenges in logic, leading to many different, conflicting semantics of rules. This paper describes a…

Logic in Computer Science · Computer Science 2021-10-07 Yanhong A. Liu , Scott D. Stoller

This paper describes an operational semantics for futures, with the primary target on energy efficiency. The work in progress is built around an insight that different threads can coordinate by running at different "paces," so that the time…

Programming Languages · Computer Science 2013-02-27 Yu David Liu