English
Related papers

Related papers: Towards Patterns for Heaps and Imperative Lambdas

200 papers

We address the problem of complementing higher-order patterns without repetitions of existential variables. Differently from the first-order case, the complement of a pattern cannot, in general, be described by a pattern, or even by a…

Logic in Computer Science · Computer Science 2008-10-22 Alberto Momigliano , Frank Pfenning

We introduce refutationally complete superposition calculi for intentional and extensional clausal $\lambda$-free higher-order logic, two formalisms that allow partial application and applied variables. The calculi are parameterized by a…

Logic in Computer Science · Computer Science 2023-06-22 Alexander Bentkamp , Jasmin Blanchette , Simon Cruanes , Uwe Waldmann

We study the interpretation of the lambda-calculus in a framework based on tropical mathematics, and we show that it provides a unifying framework for two well-developed quantitative approaches to program semantics: on the one hand program…

Logic in Computer Science · Computer Science 2023-11-28 Davide Barbarossa , Paolo Pistone

Theoretical foundations of compositional reasoning about heaps in imperative programming languages are investigated. We introduce a novel concept of compositional symbolic memory and its relevant properties. We utilize these formal…

Programming Languages · Computer Science 2019-06-27 Yurii Kostyukov , Konstantin Batoev , Dmitry Mordvinov , Michael Kostitsyn , Aleksandr Misonizhnik

Despite a growing body of work at the intersection of deep learning and formal languages, there has been relatively little systematic exploration of transformer models for reasoning about typed lambda calculi. This is an interesting area of…

Programming Languages · Computer Science 2023-04-21 Brando Miranda , Avi Shinnar , Vasily Pestun , Barry Trager

A comparison of Landin's form of lambda calculus with Church's shows that, independently of the lambda calculus, there exists a mechanism for converting functions with arguments indexed by variables to the usual kind of function where the…

Programming Languages · Computer Science 2015-06-01 M. H. van Emden

The lambda calculus with constructors is an extension of the lambda calculus with variadic constructors. It decomposes the pattern-matching a la ML into a case analysis on constants and a commutation rule between case and application…

Logic in Computer Science · Computer Science 2012-03-06 Barbara Petit

Pattern matching is a popular feature in functional, imperative and object-oriented programming languages. Language designers should therefore invest effort in a good design for pattern matching. Most languages choose a first-match…

Programming Languages · Computer Science 2025-10-16 David Binder , Lean Ermantraut

The existing call-by-need lambda calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivalent to another or to determine the value of a lazy…

Programming Languages · Computer Science 2012-01-19 Stephen Chang , Matthias Felleisen

Dependent pattern matching is a key feature in dependently typed programming. However, there is a theory-practice disconnect: while many proof assistants implement pattern matching as primitive, theoretical presentations give semantics to…

Programming Languages · Computer Science 2025-01-31 Joseph Eremondi , Ohad Kammar

We extend the {\lambda}-calculus with constructs suitable for relational and functional-logic programming: non-deterministic choice, fresh variable introduction, and unification of expressions. In order to be able to unify…

Programming Languages · Computer Science 2021-03-02 Pablo Barenbaum , Federico Lochbaum , Mariana Milicich

In this paper we are concerned with understanding the nature of program metrics for calculi with higher-order types, seen as natural generalizations of program equivalences. Some of the metrics we are interested in are well-known, such as…

Logic in Computer Science · Computer Science 2023-02-13 Ugo Dal Lago , Naohiko Hoshino , Paolo Pistone

Higher-order representations of objects such as programs, proofs, formulas and types have become important to many symbolic computation tasks. Systems that support such representations usually depend on the implementation of an intensional…

Programming Languages · Computer Science 2007-05-23 Xiaochu Qi

We show how (well-established) type systems based on non-idempotent intersection types can be extended to characterize termination properties of functional programming languages with pattern matching features. To model such programming…

Programming Languages · Computer Science 2024-08-21 Sandra Alves , Delia Kesner , Miguel Ramos

Logical relations are one of the most powerful techniques in the theory of programming languages, and have been used extensively for proving properties of a variety of higher-order calculi. However, there are properties that cannot be…

Programming Languages · Computer Science 2020-02-21 Gilles Barthe , Raphaëlle Crubillé , Ugo Dal Lago , Francesco Gavazzo

A non-deterministic call-by-need lambda-calculus \calc with case, constructors, letrec and a (non-deterministic) erratic choice, based on rewriting rules is investigated. A standard reduction is defined as a variant of left-most outermost…

Programming Languages · Computer Science 2007-05-23 Manfred Schmidt-Schauß , Michael Huber

We designed a superposition calculus for a clausal fragment of extensional polymorphic higher-order logic that includes anonymous functions but excludes Booleans. The inference rules work on $\beta\eta$-equivalence classes of…

Logic in Computer Science · Computer Science 2021-02-02 Alexander Bentkamp , Jasmin Blanchette , Sophie Tourret , Petar Vukmirović , Uwe Waldmann

In the quest to give a formal compositional semantics to natural languages, semanticists have started turning their attention to phenomena that have been also considered as parts of pragmatics (e.g., discourse anaphora and presupposition…

Computation and Language · Computer Science 2015-06-19 Jiri Marsik , Maxime Amblard

We introduce a type and effect system, for an imperative object calculus, which infers "sharing" possibly introduced by the evaluation of an expression, represented as an equivalence relation among its free variables. This direct…

Programming Languages · Computer Science 2018-08-03 Paola Giannini , Tim Richter , Marco Servetto , Elena Zucca

Almost all modern imperative programming languages include operations for dynamically manipulating the heap, for example by allocating and deallocating objects, and by updating reference fields. In the presence of recursive procedures and…

Programming Languages · Computer Science 2012-12-18 Jurriaan Rot , Irina Măriuca Asăvoae , Frank de Boer , Marcello M. Bonsangue , Dorel Lucanu
‹ Prev 1 2 3 10 Next ›