English
Related papers

Related papers: Towards Gradually Typed Capabilities in the Pi-Cal…

200 papers

The Message Passing Interface (MPI) framework is widely used in implementing imperative pro- grams that exhibit a high degree of parallelism. The PARTYPES approach proposes a behavioural type discipline for MPI-like programs in which a type…

Programming Languages · Computer Science 2017-04-12 Francisco Martins , Vasco Thudichum Vasconcelos , Hans Hüttel

Erlang's dynamic typing discipline can lead to runtime errors that persist even after process restarts. Some of these runtime errors could be prevented through static type checking. While Erlang provides a type specification language, the…

Programming Languages · Computer Science 2026-03-24 Albert Schimpf , Stefan Wehr , Annette Bieniusa

With multi-tier programming languages, programmers can specify the locations of code to run in order to reduce development efforts for the web-based client-server model where programmers write client and server programs separately and test…

Programming Languages · Computer Science 2021-11-03 Kwanghoon Choi , Byeong-Mo Chang

Type systems provide software developers immediate feedback about a subset of correctness properties of their programs. IDE integrations often take advantage of type systems to present errors, suggest completions and even improve…

Programming Languages · Computer Science 2022-07-14 Alcides Fonseca , Guilherme Espada

We explore type systems and programming abstractions for the safe use of resources. In particular, we investigate how to use types to modularly specify and check when programs are allowed to use their resources, e.g., when programming a…

Programming Languages · Computer Science 2023-04-26 Danel Ahman

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

One form of type checking used in gradually typed language is transient type checking: whenever an object 'flows' through code with a type annotation, the object is dynamically checked to ensure it has the methods required by the…

Programming Languages · Computer Science 2019-09-13 Isaac Oscar Gariano , Richard Roberts , Stefan Marr , Michael Homer , James Noble

This work studies gradual typing for row types and row polymorphism. Key ingredients in this work are the dynamic row type, which represents a statically unknown part of a row, and consistency for row types, which allows injecting static…

Programming Languages · Computer Science 2019-10-23 Taro Sekiyama , Atsushi Igarashi

Passive documents and active programs now widely comingle. Document languages include Turing-complete programming elements, and programming languages include sophisticated document notations. However, there are no formal foundations that…

Programming Languages · Computer Science 2023-11-15 Will Crichton , Shriram Krishnamurthi

As gradual typing becomes increasingly popular in languages like Python and TypeScript, there is a growing need to infer type annotations automatically. While type annotations help with tasks like code completion and static error catching,…

Programming Languages · Computer Science 2020-05-06 Jiayi Wei , Maruth Goyal , Greg Durrett , Isil Dillig

The RPC calculus is a simple semantic foundation for multi-tier programming languages such as Links in which located functions can be written for the client-server model. Subsequently, the typed RPC calculus is designed to capture the…

Programming Languages · Computer Science 2020-05-26 Kwanghoon Choi , James Cheney , Simon Fowler , Sam Lindley

Whilst there have been great advances in HPC hardware and software in recent years, the languages and models that we use to program these machines have remained much more static. This is not from a lack of effort, but instead by virtue of…

Programming Languages · Computer Science 2016-10-31 Nick Brown

We study functional and concurrent calculi with non-determinism, along with type systems to control resources based on linearity. The interplay between non-determinism and linearity is delicate: careless handling of branches can discard…

Logic in Computer Science · Computer Science 2023-10-02 Bas van den Heuvel , Joseph W. N. Paulus , Daniele Nantes-Sobrinho , Jorge A. Pérez

The lambda-Pi-calculus allows to express proofs of minimal predicate logic. It can be extended, in a very simple way, by adding computation rules. This leads to the lambda-Pi-calculus modulo. We show in this paper that this simple extension…

Logic in Computer Science · Computer Science 2023-10-20 Denis Cousineau , Gilles Dowek

We study the Pi-calculus, enriched with pairing and non-blocking input, and define a notion of type assignment that uses the type constructor "arrow". We encode the circuits of the calculus X into this variant of Pi, and show that all…

Logic in Computer Science · Computer Science 2011-09-23 Steffen van Bakel , Luca Cardelli , Maria Grazia Vigliotti

An approach for incorporating embedded simulation and analysis capabilities in complex simulation codes through template-based generic programming is presented. This approach relies on templating and operator overloading within the C++…

Mathematical Software · Computer Science 2012-05-17 Roger P. Pawlowski , Eric T. Phipps , Andrew G. Salinger

We introduce a formal meta-language for probabilistic programming, capable of expressing both programs and the type systems in which they are embedded. We are motivated here by the desire to allow an AGI to learn not only relevant knowledge…

Artificial Intelligence · Computer Science 2022-08-17 Jonathan Warrell , Alexey Potapov , Adam Vandervorst , Ben Goertzel

In this work, we incorporate reversibility into structured communication-based programming, to allow parties of a session to automatically undo, in a rollback fashion, the effect of previously executed interactions. This permits taking…

Programming Languages · Computer Science 2014-06-16 Francesco Tiezzi , Nobuko Yoshida

Screening traditionally refers to the problem of detecting active inputs in the computer model. In this paper, we develop methodology that applies to screening, but the main focus is on detecting active inputs not in the computer model…

Computation · Statistics 2024-02-20 Pierre Barbillon , Anabel Forte , Rui Paulo

Foundation models have achieved great advances in multi-task learning with a unified interface of unimodal and multimodal tasks. However, the potential of such multi-task learners has not been exploited during transfer learning. In this…

Computer Vision and Pattern Recognition · Computer Science 2023-05-18 Chengyue Wu , Teng Wang , Yixiao Ge , Zeyu Lu , Ruisong Zhou , Ying Shan , Ping Luo