English
Related papers

Related papers: The ins and outs of iteration in Mezzo

200 papers

When programmers want to prove strong program invariants, they are usually faced with a choice between using theorem provers and using traditional programming languages. The former requires them to provide program proofs, which, for many…

Programming Languages · Computer Science 2013-11-28 Jonathan Protzenko

We present Mezzo, a typed programming language of ML lineage. Mezzo is equipped with a novel static discipline of duplicable and affine permissions, which controls aliasing and ownership. This rules out certain mistakes, including…

Programming Languages · Computer Science 2013-12-02 Jonathan Protzenko , François Pottier

Memorization is a fundamental ability of Transformer-based Large Language Models, achieved through learning. In this paper, we propose a paradigm shift by designing an architecture to memorize text directly, bearing in mind the principle…

In software engineering, taking a good election between recursion and iteration is essential because their efficiency and maintenance are different. In fact, developers often need to transform iteration into recursion (e.g., in debugging,…

Programming Languages · Computer Science 2014-10-22 David Insa , Josep Silva

Programming languages are incredibly versatile, enabling developers to create applications and programs that suit their individual requirements. This article introduces a new language called Cesno, designed from the ground up to offer an…

Software Engineering · Computer Science 2024-09-24 Ozelot Vanilla , Jingxiang Yu , Hemn Barzan Abdalla

The Mizar language aims to capture mathematical vernacular by providing a rich language for mathematics. From the perspective of a user, the richness of the language is welcome because it makes writing texts more "natural". But for the…

Programming Languages · Computer Science 2014-01-07 Czeslaw Bylinski , Jesse Alama

One way to write fast programs is to explore the potential parallelism and take advantage of the high number of cores available in microprocessors. This can be achieved by manually specifying which code executes on which thread, by using…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-23 Alcides Fonseca , Raul Barbosa

Iterative algorithms are traditionally expressed in ACL2 using recursion. On the other hand, Common Lisp provides a construct, loop, which -- like most programming languages -- provides direct support for iteration. We describe an ACL2…

Logic in Computer Science · Computer Science 2020-09-30 Matt Kaufmann , J Strother Moore

Forward inference techniques such as sequential Monte Carlo and particle Markov chain Monte Carlo for probabilistic programming can be implemented in any programming language by creative use of standardized operating system functionality…

Artificial Intelligence · Computer Science 2014-07-11 Brooks Paige , Frank Wood

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic…

Programming Languages · Computer Science 2022-02-25 Giuseppe Castagna , Victor Lanvin , Mickaël Laurent , Kim Nguyen

Formal Methods tools will never have as many users as tools for popular programming languages and so the effort spent on constructing Integrated Development Environments (IDEs) will be orders of magnitudes lower than that of programming…

Language models (LMs) can perform complex reasoning either end-to-end, with hidden latent state, or compositionally, with transparent intermediate state. Composition offers benefits for interpretability and safety, but may need workflow…

Computation and Language · Computer Science 2023-01-06 Justin Reppert , Ben Rachbach , Charlie George , Luke Stebbing , Jungwon Byun , Maggie Appleton , Andreas Stuhlmüller

Contact between languages has the potential to transmit vocabulary and other language features; however, this does not always happen. Here, an iterated learning model is used to examine, in a simple way, the resistance of languages to…

Computation and Language · Computer Science 2024-08-27 Seth Bullock , Conor Houghton

Notions of guardedness serve to delineate admissible recursive definitions in various settings in a compositional manner. In recent work, we have introduced an axiomatic notion of guardedness in symmetric monoidal categories, which serves…

Logic in Computer Science · Computer Science 2021-05-25 Sergey Goncharov , Christoph Rauch , Lutz Schröder

Iteration is a programming operation that traditionally refers to visiting the elements of a data structure in sequence. However, modern programming systems such as Rust, Java, and C# generalise iteration far beyond the traditional use…

Logic in Computer Science · Computer Science 2022-10-19 Aurel Bílý , Jonas Hansen , Peter Müller , Alexander J. Summers

Looping is one of the fundamental logical instructions used for repeating a block of code. It is used in programs across all programming languages. Traditionally, in languages like C, the for loop is used extensively for repeated execution…

Programming Languages · Computer Science 2014-10-15 Rishabh Jain , Sakshi Gupta

In this paper, we consider the problem of machine teaching, the inverse problem of machine learning. Different from traditional machine teaching which views the learners as batch algorithms, we study a new paradigm where the learner uses an…

Machine Learning · Statistics 2017-11-21 Weiyang Liu , Bo Dai , Ahmad Humayun , Charlene Tay , Chen Yu , Linda B. Smith , James M. Rehg , Le Song

This paper reviews the basic ideas behind a Bayesian unfolding published some years ago and improves their implementation. In particular, uncertainties are now treated at all levels by probability density functions and their propagation is…

Data Analysis, Statistics and Probability · Physics 2010-10-05 G. D'Agostini

When programming resource-scarce embedded smart devices, the designer often requires both the low-level system programming features of a language such as C and higher level capability typical of a language like Java. The choice of a…

Programming Languages · Computer Science 2019-10-09 Vincenzo De Florio , Chris Blondia

The present paper shows meta-programming turn programming, which is rich enough to express arbitrary arithmetic computations. We demonstrate a type system that implements Peano arithmetics, slightly generalized to negative numbers. Certain…

Computation and Language · Computer Science 2007-05-23 Oleg Kiselyov
‹ Prev 1 2 3 10 Next ›