English
Related papers

Related papers: Compiling Purely Functional Structured Programs

200 papers

This tutorial gives an advanced introduction to string diagrams and graph languages for higher-order computation. The subject matter develops in a principled way, starting from the two dimensional syntax of key categorical concepts such as…

Logic in Computer Science · Computer Science 2024-12-05 Dan Ghica , Fabio Zanasi

This article is about an implementation and compilation technique that is used in RAW-Feldspar which is a complete rewrite of the Feldspar embedded domain-specific language (EDSL) (Axelsson et al. 2010). Feldspar is high-level functional…

Computation and Language · Computer Science 2018-04-20 Emil Axelsson

Disjunctive Logic Programming (DLP) is a very expressive formalism: it allows for expressing every property of finite structures that is decidable in the complexity class SigmaP2 (= NP^NP). Despite this high expressiveness, there are some…

Artificial Intelligence · Computer Science 2008-02-22 Wolfgang Faber , Gerald Pfeifer , Nicola Leone , Tina Dell'Armi , Giuseppe Ielpa

With the growing use of domain-specific languages (DSL) in industry, DSL design and implementation goes far beyond an activity for a few experts only and becomes a challenging task for thousands of software engineers. DSL implementation…

Software Engineering · Computer Science 2018-07-06 Jean-Marc Jézéquel , Benoit Combemale , Olivier Barais , Martin Monperrus , François Fouquet

Static Single Assignment (SSA) is the workhorse of modern optimizing compilers for imperative programming languages. However, functional languages have been slow to adopt SSA and prefer to use intermediate representations based on minimal…

Programming Languages · Computer Science 2022-01-20 Siddharth Bhat , Tobias Grosser

We propose a rich foundational theory of typed data streams and stream transformers, motivated by two high-level goals: (1) The type of a stream should be able to express complex sequential patterns of events over time. And (2) it should…

Searching code is a common task that developers perform to understand APIs, learn common code patterns, and navigate code. Currently, developers most commonly search using keywords and regular expressions that are easy to use and widely…

Software Engineering · Computer Science 2025-07-04 Ben Limpanukorn , Yanjun Wang , Zach Patterson , Pranav Garg , Murali Krishna Ramanathan , Xiaofei Ma , Anoop Deoras , Miryung Kim

To support the understanding of declarative probabilistic programming languages, we introduce a lambda-calculus with a fair binary probabilistic choice that chooses between its arguments with equal probability. The reduction strategy of the…

Logic in Computer Science · Computer Science 2022-05-31 David Sabel , Manfred Schmidt-Schauß , Luca Maio

In this paper we introduce the Functional Modelling System (FMS). The system introduces the Functional Modelling Language (FML), which is a modelling language for NP-complete search problems based on concepts of functional programming.…

Programming Languages · Computer Science 2018-08-24 Ingmar Dasseville , Gerda Janssens

We propose an intersection type system for an imperative lambda-calculus based on a state monad and equipped with algebraic operations to read and write to the store. The system is derived by solving a suitable domain equation in the…

Programming Languages · Computer Science 2022-02-25 Ugo de'Liguoro , Riccardo Treglia

Traditional concurrent-programming techniques require programmers to painstakingly write programs for each participant in a concurrent system. Choreographic programming, in contrast, allows a programmer to write one centralized program and…

Programming Languages · Computer Science 2026-05-25 Ashley Samuelson , Andrew K. Hirsch , Ethan Cecchetti

The recently proposed CP language adopts Compositional Programming: a new modular programming style that solves challenging problems such as the Expression Problem. CP is implemented on top of a polymorphic core language with disjoint…

Programming Languages · Computer Science 2023-11-03 Andong Fan , Xuejing Huang , Han Xu , Yaozhu Sun , Bruno C. d. S. Oliveira

Data engineers increasingly use domain-specific languages (DSLs) to generate the code for data pipelines. Such DSLs are often embedded in Python. Unfortunately, there are challenges in debugging the generation of data pipelines: an error in…

Programming Languages · Computer Science 2025-08-21 Tianyu Chen , Darshal Shetty , Jeremy G. Siek , Chao-Hong Chen , Weixi Ma , Arnaud Venet , Rocky Liu

We give a new characterization of the class of rational string functions from formal language theory using order-preserving interpretations with respect to a very weak monadic programming language. This refines the known characterization of…

Logic in Computer Science · Computer Science 2023-02-08 Siddharth Bhaskar , Jane Chandlee , Adam Jardine

Programming with versions is a paradigm that allows a program to use multiple versions of a module so that the programmer can selectively use functions from both older and newer versions of a single module. Previous work formalized…

Programming Languages · Computer Science 2024-03-19 Yudai Tanabe , Luthfan Anshar Lubis , Tomoyuki Aotani , Hidehiko Masuhara

Formal mathematics and computer science proofs are formalized using Hilbert-Russell-style logical systems which are designed to not admit paradoxes and self-refencing reasoning. These logical systems are natural way to describe and reason…

Programming Languages · Computer Science 2024-09-10 Ronie Salgado

In semidefinite programming (SDP), unlike in linear programming, Farkas' lemma may fail to prove infeasibility. Here we obtain an exact, short certificate of infeasibility in SDP by an elementary approach: we reformulate any semidefinite…

Optimization and Control · Mathematics 2015-04-06 Minghui Liu , Gabor Pataki

Many different systems with explicit substitutions have been proposed to implement a large class of higher-order languages. Motivations and challenges that guided the development of such calculi in functional frameworks are surveyed in the…

Programming Languages · Computer Science 2015-07-01 Delia Kesner

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

This paper proposes {\pi}, a formal semantic framework for compiler construction together with program validation. {\pi} is comprised by {\pi} Lib, a set of programming languages constructs inspired by Peter Mosses' Component-Based…

Programming Languages · Computer Science 2018-08-02 Christiano Braga