English
Related papers

Related papers: Trees That Grow

200 papers

Functors with an instance of the Traversable type class can be thought of as data structures which permit a traversal of their elements. This has been made precise by the correspondence between traversable functors and finitary containers…

Logic in Computer Science · Computer Science 2022-07-21 Gershom Bazerman

In previous work we have illustrated the benefits that compositional data types (CDTs) offer for implementing languages and in general for dealing with abstract syntax trees (ASTs). Based on Swierstra's data types \'a la carte, CDTs are…

Programming Languages · Computer Science 2012-02-15 Patrick Bahr , Tom Hvitved

This paper offers an approach to extensible knowledge representation and reasoning for a family of formalisms known as Description Logics. The approach is based on the notion of adding new concept constructors, and includes a heuristic…

Artificial Intelligence · Computer Science 2011-05-30 A. Borgida

Stackability for finitely presented groups consists of a dynamical system that iteratively moves paths into a maximal tree in the Cayley graph. Combining with formal language theoretic restrictions yields auto- or algorithmic stackability,…

Group Theory · Mathematics 2016-05-23 Susan Hermiller , Conchita Martínez-Pérez

Many programming problems call for turning geometrical thoughts into code: tables, hierarchical structures, nests of objects, trees, forests, graphs, and so on. Linear text does not do justice to such thoughts. But, it has been the dominant…

Programming Languages · Computer Science 2020-10-27 Leif Andersen , Michael Ballantyne , Matthias Felleisen

Pattern matching is a widely used technique in functional languages, especially those in the ML and Haskell traditions, where it is at the core of the semantics. In languages in the Lisp tradition, in contrast, pattern matching it typically…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt

We introduce a generic extension of the popular branching-time logic CTL which refines the temporal until and release operators with formal languages. For instance, a language may determine the moments along a path that an until property…

Logic in Computer Science · Computer Science 2015-05-19 Roland Axelsson , Matthew Hague , Stephan Kreutzer , Martin Lange , Markus Latte

The amount of large-scale scientific computing software is dramatically increasing. In this work, we designed a new language, named feature query language (FQL), to collect and extract software features from a quick static code analysis. We…

Software Engineering · Computer Science 2019-05-24 Weijian Zheng , Dali Wang , Fengguang Song

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

The distributed representations currently used are dense and uninterpretable, leading to interpretations that themselves are relative, overcomplete, and hard to interpret. We propose a method that transforms these word vectors into reduced…

Computation and Language · Computer Science 2024-11-14 Biraj Silwal

Many problem domains, including program synthesis and rewrite-based optimization, require searching astronomically large spaces of programs. Existing approaches often rely on building specialized data structures -- version-space algebras,…

Programming Languages · Computer Science 2022-06-17 James Koppel , Zheng Guo , Edsko de Vries , Armando Solar-Lezama , Nadia Polikarpova

Herbrand's theorem is one of the most fundamental insights in logic. From the syntactic point of view, it suggests a compact representation of proofs in classical first- and higher-order logic by recording the information of which instances…

Logic · Mathematics 2019-10-09 Federico Aschieri , Stefan Hetzl , Daniel Weller

For many years, GHC has implemented an extension to Haskell that allows type variables to be bound in type signatures and patterns, and to scope over terms. This extension was never properly specified. We rectify that oversight here. With…

Programming Languages · Computer Science 2018-06-12 Richard A. Eisenberg , Joachim Breitner , Simon Peyton Jones

CPEG is an extended parsing expression grammar with regex-like capture annotation. Two annotations (capture and left-folding) allow a flexible construction of syntax trees from arbitrary parsing patterns. More importantly, CPEG is designed…

Programming Languages · Computer Science 2018-12-19 Daisuke Yamaguchi , Kimio Kuramitsu

We introduce a variant of modal logic, dubbed EXISTENTIAL COUNTING MODAL LOGIC (ECML), which captures a vast majority of problems known to be tractable in single exponential time when parameterized by treewidth. It appears that all these…

Data Structures and Algorithms · Computer Science 2011-04-18 Michał Pilipczuk

Refinement type checkers are a powerful way to reason about functional programs. For example, one can prove properties of a slow, specification implementation, porting the proofs to an optimized implementation that behaves the same. Without…

Programming Languages · Computer Science 2022-07-20 Niki Vazou , Michael Greenberg

Long document classification presents challenges in capturing both local and global dependencies due to their extensive content and complex structure. Existing methods often struggle with token limits and fail to adequately model…

Computation and Language · Computer Science 2024-10-07 Sudipta Singha Roy , Xindi Wang , Robert E. Mercer , Frank Rudzicz

We present a new, uniform semantics for Haskell-style overloading. We realize our approach in a new core language, System F$_\mathrm{D}$, whose metatheory we mechanize in the Lean4 interactive theorem prover. System F$_\mathrm{D}$ is…

Programming Languages · Computer Science 2025-07-23 Andrew Marmaduke , Apoorv Ingle , J. Garrett Morris

Information, stored or transmitted in digital form, is often structured. Individual data records are usually represented as hierarchies of their elements. Together, records form larger structures. Information processing applications have to…

Computation and Language · Computer Science 2007-05-23 Nikita Schmidt , Ahmed Patel

The development of programming languages can be quite complicated and costly. Hence, much effort has been devoted to the modular definition of language features that can be reused in various combinations to define new languages and…

Programming Languages · Computer Science 2021-08-26 Birthe van den Berg , Tom Schrijvers , Casper Bach-Poulsen , Nicolas Wu