English
Related papers

Related papers: A Type and Scope Safe Universe of Syntaxes with Bi…

200 papers

When using interactive theorem provers based on dependent type theory to define and reason about languages involving binding constructs, we advocate the use of a well-scoped version of the locally nameless method of representing syntax.…

Logic in Computer Science · Computer Science 2026-05-12 Andrew M. Pitts

A new behavior descriptive entity type called spec is proposed, which combines the traditional interface with test rules and test cases, to completely specify the desired behavior of each method, and to enforce the behavior-wise correctness…

Programming Languages · Computer Science 2014-08-21 Chengpu Wang

We present a device for specifying and reasoning about syntax for datatypes, programming languages, and logic calculi. More precisely, we study a notion of "signature" for specifying syntactic constructions. In the spirit of Initial…

Logic in Computer Science · Computer Science 2023-06-22 Benedikt Ahrens , André Hirschowitz , Ambroise Lafont , Marco Maggesi

Requirements and code, in conventional software engineering wisdom, belong to entirely different worlds. Is it possible to unify these two worlds? A unified framework could help make software easier to change and reuse. To explore the…

Software Engineering · Computer Science 2016-02-18 Alexandr Naumchev , Bertrand Meyer , Victor Rivera

Bedwyr is a generalization of logic programming that allows model checking directly on syntactic expressions possibly containing bindings. This system, written in OCaml, is a direct implementation of two recent advances in the theory of…

Logic in Computer Science · Computer Science 2008-04-25 David Baelde , Andrew Gacek , Dale Miller , Gopalan Nadathur , Alwen Tiu

Handling bound identifiers correctly and efficiently is critical in implementations of compilers, proof assistants, and theorem provers. When choosing a representation for abstract syntax with binders, implementors face a trade-off between…

Programming Languages · Computer Science 2024-05-28 Nikolai Kudasov , Renata Shakirova , Egor Shalagin , Karina Tyulebaeva

There are multiple ways to formalise the metatheory of type theory. For some purposes, it is enough to consider specific models of a type theory, but sometimes it is necessary to refer to the syntax, for example in proofs of canonicity and…

Logic in Computer Science · Computer Science 2019-07-18 Ambrus Kaposi , András Kovács , Nicolai Kraus

Though end-to-end neural approaches have recently been dominating NLP tasks in both performance and ease-of-use, they lack interpretability and robustness. We propose Binder, a training-free neural-symbolic framework that maps the task…

To investigate the evolution of syntax, we need to ascertain the evolutionary r\^ole of syntax and, before that, the very nature of syntax. Here, we will assume that syntax is computing. And then, since we are computationally Turing…

Computation and Language · Computer Science 2019-07-03 Ramón Casares

We present programming techniques to illustrate the facilities and principles of C++ generic programming using concepts. Concepts are C++'s way to express constraints on generic code. As an initial example, we provide a simple type system…

Programming Languages · Computer Science 2025-10-13 Bjarne Stroustrup

The key to any nameless representation of syntax is how it indicates the variables we choose to use and thus, implicitly, those we discard. Standard de Bruijn representations delay discarding maximally till the leaves of terms where one is…

Logic in Computer Science · Computer Science 2018-07-12 Conor McBride

What makes a universal sentence encoder universal? The notion of a generic encoder of text appears to be at odds with the inherent contextualization and non-permanence of language use in a dynamic world. However, mapping sentences into…

Computation and Language · Computer Science 2020-02-21 Jamie Kiros

Constraint Handling Rules provide descriptions for constraint solvers. However, they fall short when those constraints specify some binding structure, like higher-rank types in a constraint-based type inference algorithm. In this paper, the…

Logic in Computer Science · Computer Science 2017-07-11 Alejandro Serrano , Jurriaan Hage

We present a lightweight, open source Agda framework for manually verifying effectful programs using predicate transformer semantics. We represent the abstract syntax trees (AST) of effectful programs with a generalized algebraic datatype…

Software Engineering · Computer Science 2022-08-18 Christa Jenkins , Mark Moir , Harold Carr

It is often useful, if not necessary, to reason about the syntactic structure of an expression in an interpreted language (i.e., a language with a semantics). This paper introduces a mathematical structure called a syntax framework that is…

Logic in Computer Science · Computer Science 2014-06-27 William M. Farmer , Pouya Larjani

An understandable concrete syntax and a comprehensible abstract syntax are two central aspects of defining a modeling language. Both representations of a language significantly overlap in their structure and also information, but may also…

Software Engineering · Computer Science 2016-11-17 Holger Krahn , Bernhard Rumpe , Steven Völkel

Any optimization algorithm programming interface can be seen as a black-box function with additional free parameters. In this spirit, simulated annealing (SA) can be implemented in pseudo-code within the dimensions of a single slide with…

Software Engineering · Computer Science 2023-02-27 Rohit Goswami , Ruhila S. , Amrita Goswami , Sonaly Goswami , Debabrata Goswami

Generic programming is an effective methodology for developing reusable software libraries. Many programming languages provide generics and have features for describing interfaces, but none completely support the idioms used in generic…

Programming Languages · Computer Science 2007-08-17 Jeremy G. Siek , Andrew Lumsdaine

Context. An extension method is a method declared in a package other than the package of its host class. Thanks to extension methods, developers can adapt to their needs classes they do not own: adding methods to core classes is a typical…

Programming Languages · Computer Science 2017-08-08 Guillermo Polito , Camille Teruel , Stéphane Ducasse , Luc Fabresse

Modeling interoperability between programs in different languages is a key problem when modeling verified and secure compilation, which has been successfully addressed using multi-language semantics. Unfortunately, existing models of…

Programming Languages · Computer Science 2025-09-25 William J. Bowman