English
Related papers

Related papers: Row-Polymorphic Types for Strategic Rewriting

200 papers

Polymorphic types are an important feature in most strongly typed programming languages. They allow functions to be written in a way that can be used with different data types, while still enforcing the relationship and constraints between…

Programming Languages · Computer Science 2024-05-22 Shuai Fu , Tim Dwyer , Peter J. Stuckey

This paper studies 3-polygraphs as a framework for rewriting on two-dimensional words. A translation of term rewriting systems into 3-polygraphs with explicit resource management is given, and the respective computational properties of each…

Category Theory · Mathematics 2007-05-23 Yves Guiraud

We introduce a new programming language and its categorical semantics in order to design and implement neural networks within the framework of algebraic effects and handlers for arrows. Our language enables us to construct neural networks…

Programming Languages · Computer Science 2026-02-23 Takahiro Sanada , Keisuke Hoshino , Kenshin Hirai , Shin-ya Katsumata

The polymorphic RPC calculus allows programmers to write succinct multitier programs using polymorphic location constructs. However, until now it lacked an implementation. We develop an experimental programming language based on the…

Programming Languages · Computer Science 2021-07-28 Kwanghoon Choi , James Cheney , Sam Lindley , Bob Reynders

The program synthesis problem within the Inductive Logic Programming (ILP) community has typically been seen as untyped. We consider the benefits of user provided types on background knowledge. Building on the Meta-Interpretive Learning…

Artificial Intelligence · Computer Science 2021-02-26 Rolf Morel

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

Functional reactive programming (FRP) is a declarative programming paradigm for implementing reactive programs at a high level of abstraction. It applies functional programming principles to construct and manipulate time-varying values,…

Programming Languages · Computer Science 2026-02-24 Patrick Bahr

Polymorphism in programming languages enables code reuse. Here, we show that polymorphism has broad applicability far beyond computations for technical computing: parallelism in distributed computing, presentation of visualizations of…

Programming Languages · Computer Science 2014-11-07 Jiahao Chen , Alan Edelman

Multiparty sessions with asynchronous communications and global types play an important role for the modelling of interaction protocols in distributed systems. In designing such calculi the aim is to enforce, by typing, good properties for…

Logic in Computer Science · Computer Science 2023-06-22 Francesco Dagnino , Paola Giannini , Mariangiola Dezani-Ciancaglini

Linguistic typology aims to capture structural and semantic variation across the world's languages. A large-scale typology could provide excellent guidance for multilingual Natural Language Processing (NLP), particularly for languages that…

Computation and Language · Computer Science 2020-10-28 Edoardo Maria Ponti , Helen O'Horan , Yevgeni Berzak , Ivan Vulić , Roi Reichart , Thierry Poibeau , Ekaterina Shutova , Anna Korhonen

We present a computational implementation of diagrammatic sets, a model of higher-dimensional diagram rewriting that is "topologically sound": diagrams admit a functorial interpretation as homotopies in cell complexes. This has potential…

Category Theory · Mathematics 2023-08-01 Amar Hadzihasanovic , Diana Kessler

This paper investigates the use of graph rewriting systems as a modelling tool, and advocates the embedding of such systems in an interactive environment. One important application domain is the modelling of biochemical systems, where…

Computational Engineering, Finance, and Science · Computer Science 2011-02-15 Oana Andrei , Maribel Fernández , Hélène Kirchner , Guy Melançon , Olivier Namet , Bruno Pinaud

Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to…

Programming Languages · Computer Science 2007-05-23 G. N. C. Kirby , R. Morrison , D. W. Stemple

We propose a modal logic tailored to describe graph transformations and discuss some of its properties. We focus on a particular class of graphs called termgraphs. They are first-order terms augmented with sharing and cycles. Termgraphs…

Logic in Computer Science · Computer Science 2010-03-24 Ph. Balbiani , R. Echahed , A. Herzig

Users of program analyses expect that results change predictably in response to changes in their programs, but many analyses fail to provide such robustness. This paper introduces a theoretical framework that provides a unified language to…

Programming Languages · Computer Science 2026-04-14 Zachary Kincaid , Shaowei Zhu

We report on a half-semester course focused around implementation of type systems in programming languages. The course assumes basics of classical compiler construction, in particular, the abstract syntax representation, the Visitor…

Programming Languages · Computer Science 2024-07-12 Abdelrahman Abounegm , Nikolai Kudasov , Alexey Stepanov

Context: Tables are ubiquitous formats for data. Therefore, techniques for writing correct programs over tables, and debugging incorrect ones, are vital. Our specific focus in this paper is on rich types that articulate the properties of…

Programming Languages · Computer Science 2021-11-23 Kuang-Chen Lu , Ben Greenman , Shriram Krishnamurthi

Strategic reasoning enables agents to cooperate, communicate, and compete with other agents in diverse situations. Existing approaches to solving strategic games rely on extensive training, yielding strategies that do not generalize to new…

Artificial Intelligence · Computer Science 2023-05-31 Kanishk Gandhi , Dorsa Sadigh , Noah D. Goodman

We introduce a new compile-time notion of type subsumption based on type simulation. We show how to apply this static subsumption relation to support a more intuitive, object oriented approach to generic programming of reusable, high…

Programming Languages · Computer Science 2011-02-17 Wouter Kuijper , Michael Weber

The specifics of data layout can be important for the efficiency of functional programs and interaction with external libraries. In this paper, we develop a type-theoretic approach to data layout that could be used as a typed intermediate…

Logic in Computer Science · Computer Science 2023-06-22 Henry DeYoung , Frank Pfenning