English
Related papers

Related papers: Compiling Purely Functional Structured Programs

200 papers

Python is a popular high-level general-purpose programming language also heavily used by the scientific community. It supports a variety of different programming paradigms and is preferred by many for its ease of use. With the vision of…

Programming Languages · Computer Science 2021-09-08 Maximilian A. Köhl

One major problem in maintaining a software system is to understand how many functional features in the system and how these features are implemented. In this paper a novel approach for locating features in code by semantic and dynamic…

Software Engineering · Computer Science 2015-12-15 Ren Wu

We extend the {\lambda}-calculus with constructs suitable for relational and functional-logic programming: non-deterministic choice, fresh variable introduction, and unification of expressions. In order to be able to unify…

Programming Languages · Computer Science 2021-03-02 Pablo Barenbaum , Federico Lochbaum , Mariana Milicich

We discuss a formal framework for using algebraic structures to model a meta-language that can write, compose, and provide interoperability between abstractions of DSLs. The purpose of this formal framework is to provide a verification of…

Category Theory · Mathematics 2023-03-17 Zachary Flores , Angelo Taranto , Eric Bond

Structural resolution (or S-resolution) is a newly proposed alternative to SLD-resolution that allows a systematic separation of derivations into term-matching and unification steps. Productive logic programs are those for which…

Logic in Computer Science · Computer Science 2015-06-23 Peng Fu , Ekaterina Komendantskaya

Our aim here is to illustrate how the benefits of structural corecursion can be found in a broader swath of the programming landscape than previously thought. Beginning from a tutorial on structural corecursion in the total, pure functional…

Programming Languages · Computer Science 2021-03-15 Paul Downen , Zena M. Ariola

Logic programming (LP) is a programming language based on first-order Horn clause logic that uses SLD-resolution as a semi-decision procedure. Finite SLD-computations are inductively sound and complete with respect to least Herbrand models…

Logic in Computer Science · Computer Science 2017-05-05 Ekaterina Komendantskaya , Patricia Johann , Martin Schmidt

We present the approach underlying a course on "Domain-Specific Languages of Mathematics", currently being developed at Chalmers in response to difficulties faced by third-year students in learning and applying classical mathematics (mainly…

Computers and Society · Computer Science 2016-11-30 Cezar Ionescu , Patrik Jansson

An attempt at unifying logic and functional programming is reported. As a starting point, we take the view that "logic programs" are not about logic but constitute inductive definitions of sets and relations. A skeletal language design…

Logic in Computer Science · Computer Science 2016-08-31 Lawrence C. Paulson , Andrew W. Smith

The objective of this paper is to develop a functional programming language for quantum computers. We develop a lambda calculus for the classical control model, following the first author's work on quantum flow-charts. We define a…

Logic in Computer Science · Computer Science 2009-02-26 Peter Selinger , Benoit Valiron

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries…

Programming Languages · Computer Science 2017-09-15 Luca Franceschini , Davide Ancona , Ekaterina Komendantskaya

Program correctness (in imperative and functional programming) splits in logic programming into correctness and completeness. Completeness means that a program produces all the answers required by its specification. Little work has been…

Logic in Computer Science · Computer Science 2014-11-13 Wlodzimierz Drabent

Large Language Models (LLMs) can solve previously intractable tasks given only natural-language instructions and a few examples, but they remain difficult to steer precisely and lack a key capability for building reliable software at scale:…

Programming Languages · Computer Science 2026-03-19 Jonathan Laurent , André Platzer

We present a novel approach to construction of a formal semantics for a programming language. Our approach, using a parametric denotational semantics, allows the semantics to be easily extended to support new language features, and…

Programming Languages · Computer Science 2018-12-04 In-Ho Yi

The algebraic lambda calculus and the linear algebraic lambda calculus are two extensions of the classical lambda calculus with linear combinations of terms. They arise independently in distinct contexts: the former is a fragment of the…

Logic in Computer Science · Computer Science 2012-08-01 Ali Assaf , Simon Perdrix

We introduce a category-theoreticabstraction of a syntax with auxiliary functions, called an admissiblemonad morphism. Relying on an abstract form of structural recursion,we then design generic tools to construct admissible monad…

Logic in Computer Science · Computer Science 2022-04-11 Tom Hirschowitz , Ambroise Lafont

Sequential programming and work-flow programming are two useful, but radically different, ways of describing computational processing. Of the two, it is sequential programming that we teach all programmers and support by programming…

Programming Languages · Computer Science 2011-08-24 William Harrison

We present a unified framework for the declarative analysis of structured communications. By relying on a (timed) concurrent constraint programming language, we show that in addition to the usual operational techniques from process calculi,…

Programming Languages · Computer Science 2010-02-05 Hugo A. López , Carlos Olarte , Jorge A. Pérez

This paper presents Favalon, a functional programming language built on the premise of a lambda calculus for use as an interactive shell replacement. Favalon seamlessly integrates with typed versions of existing libraries and commands using…

Programming Languages · Computer Science 2021-04-09 Kouji Matsui