English
Related papers

Related papers: From Push/Enter to Eval/Apply by Program Transform…

200 papers

Extensible variants improve the modularity and expressiveness of programming languages: they allow program functionality to be decomposed into independent blocks, and allow seamless extension of existing code with both new cases of existing…

Programming Languages · Computer Science 2016-12-28 J. Garrett Morris

Reusing verification artefacts requires identifying structural and semantic similarities across programs and their specifications. In this paper, we focus on graph construction as a foundational step toward this goal. We present a pipeline…

Software Engineering · Computer Science 2026-05-18 Arshad Beg , Diarmuid O'Donoghue , Rosemary Monahan

The use of non-deterministic functions is a distinctive feature of modern functional logic languages. The semantics commonly adopted is call-time choice, a notion that at the operational level is related to the sharing mechanism of lazy…

Programming Languages · Computer Science 2009-03-13 Francisco Javier Lopez-Fraguas , Juan Rodriguez-Hortala , Jaime Sanchez-Hernandez

We study the notion of extensibility in functional data types, as a new approach to the problem of decorating abstract syntax trees with additional sets of information. We observed the need for such extensibility while redesigning the data…

Programming Languages · Computer Science 2016-10-18 Shayan Najd , Simon Peyton Jones

McBride and Paterson introduced Applicative functors to Haskell, which are equivalent to the lax monoidal functors (with strength) of category theory. Applicative functors F are presented via idiomatic application $\_\circledast\_ : F (A…

Programming Languages · Computer Science 2024-01-26 Andreas Abel

We present a new approach for building source-to-source transformations that can run on multiple programming languages, based on a new way of representing programs called incremental parametric syntax. We implement this approach in Haskell…

Programming Languages · Computer Science 2018-10-03 James Koppel , Varot Premtoon , Armando Solar-Lezama

Large language models demonstrate the intriguing ability to perform unseen tasks via in-context learning. However, it remains unclear what mechanisms inside the model drive such task-level generalization. In this work, we approach this…

Computation and Language · Computer Science 2026-03-05 Qinyuan Ye , Robin Jia , Xiang Ren

Several techniques for analysis and transformations are used in compilers. Among them, the peeling of loops for hoisting quasi-invariants can be used to optimize generated code, or simply ease developers' lives. In this paper, we introduce…

Programming Languages · Computer Science 2017-04-20 Jean-Yves Moyen , Thomas Rubiano , Thomas Seiller

We introduce APPL (Abstract Program Property Logic), a unifying Hoare-style logic that subsumes standard Hoare logic, incorrectness logic, and several variants of Hyper Hoare logic. APPL provides a principled foundation for abstract program…

Logic in Computer Science · Computer Science 2026-04-23 Paolo Baldan , Roberto Bruni , Francesco Ranzato , Diletta Rigo

The Functional Machine Calculus (FMC), recently introduced by the authors, is a generalization of the lambda-calculus which may faithfully encode the effects of higher-order mutable store, I/O and probabilistic/non-deterministic input.…

Logic in Computer Science · Computer Science 2023-02-07 Chris Barrett , Willem Heijltjes , Guy McCusker

We introduce the framework FreeCHR which formalizes the embedding of Constraint Handling Rules (CHR) into a host language, using the concept of initial algebra semantics from category theory. We hereby establish a high-level implementation…

Programming Languages · Computer Science 2025-07-17 Sascha Rechenberger , Thom Frühwirth

We present an extension to the $\mathtt{mathlib}$ library of the Lean theorem prover formalizing the foundations of computability theory. We use primitive recursive functions and partial recursive functions as the main objects of study, and…

Logic in Computer Science · Computer Science 2019-07-19 Mario Carneiro

Linear and substructural types are powerful tools, but adding them to standard functional programming languages often means introducing extra annotations and typing machinery. We propose a lightweight substructural type system design that…

Programming Languages · Computer Science 2015-02-18 Edward Gan , Jesse A. Tov , Greg Morrisett

The connections among natural language processing and argumentation theory are becoming stronger in the latest years, with a growing amount of works going in this direction, in different scenarios and applying heterogeneous techniques. In…

Artificial Intelligence · Computer Science 2014-05-06 Elena Cabrio , Serena Villata

This is a motivating tutorial introduction to a semantic analysis of programming languages using a graphical language as the representation of terms, and graph rewriting as a representation of reduction rules. We show how the graphical…

Programming Languages · Computer Science 2021-02-05 Dan R. Ghica

Static program analysis is a valuable tool for any programming language that people write programs in. The prevalence of scripting languages in the world suggests programming language interpreters are relatively easy to write. Users of…

Programming Languages · Computer Science 2015-05-01 James Ian Johnson

Predictive models are fundamental to engineering reliable software systems. However, designing conservative, computable approximations for the behavior of programs (static analyses) remains a difficult and error-prone process for modern…

Programming Languages · Computer Science 2011-05-10 David Van Horn , Matthew Might

Logic programming languages present clear advantages in terms of declarativeness and conciseness. However, the ideas of logic programming have been met with resistance in other programming communities, and have not generally been adopted by…

Programming Languages · Computer Science 2026-01-08 Ivan Perez , Angel Herranz

The functional programming paradigm has a long and storied history, with its beginnings in the Lambda Calculus. In recent decades, pure functional languages such as Haskell have been shown to be highly effective in producing robust software…

Computers and Society · Computer Science 2025-12-04 Rajshekhar Sunderraman

In this paper we develop an algebraic approach to data integration by combining techniques from functional programming, category theory, and database theory. In our formalism, database schemas and instances are algebraic (multi-sorted…

Databases · Computer Science 2025-03-31 Patrick Schultz , Ryan Wisnesky
‹ Prev 1 4 5 6 7 8 10 Next ›