English
Related papers

Related papers: ICurry

200 papers

Curry-style system F, ie. system F with no explicit types in terms, can be seen as a core presentation of polymorphism from the point of view of programming languages. This paper gives a characterisation of type isomorphisms for this…

Logic in Computer Science · Computer Science 2007-05-30 Joachim De Lataillade

We present Calyx, a new intermediate language (IL) for compiling high-level programs into hardware designs. Calyx combines a hardware-like structural language with a software-like control flow representation with loops and conditionals.…

Programming Languages · Computer Science 2021-11-17 Rachit Nigam , Samuel Thomas , Zhijing Li , Adrian Sampson

Non-determinism is of great importance in functional logic programming. It provides expressiveness and efficiency to functional logic computations. In this paper we describe an implementation of the multi-paradigm functional logic language…

Programming Languages · Computer Science 2011-12-19 Abdulla Alqaddoumi , Enrico Pontelli

Choreographic programming is an emerging paradigm for programming distributed systems. In choreographic programming, the programmer describes the behavior of the entire system as a single, unified program -- a choreography -- which is then…

Programming Languages · Computer Science 2023-07-21 Gan Shen , Shun Kashiwa , Lindsey Kuper

Concurrent Constraint Programming (CCP) is a simple and powerful model for concurrency where agents interact by telling and asking constraints. Since their inception, CCP-languages have been designed for having a strong connection to logic.…

Logic in Computer Science · Computer Science 2020-02-19 Elaine Pimentel , Carlos Olarte , Vivek Nigam

Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable…

Programming Languages · Computer Science 2022-05-17 Michael Hanus

In this paper, we present a linear and reversible programming language with inductives types and recursion. The semantics of the languages is based on pattern-matching; we show how ensuring syntactical exhaustivity and non-overlapping of…

Logic in Computer Science · Computer Science 2025-07-23 Kostia Chardonnet , Alexis Saurin , Benoît Valiron

Dafny is a verification-aware programming language that allows developers to formally specify their programs and prove them correct. Currently, a Dafny program is compiled in two steps: First, a backend translates the input program to a…

Programming Languages · Computer Science 2025-01-10 Daniel Nezamabadi , Magnus Myreen

We propose a framework for reasoning about programs that manipulate coinductive data as well as inductive data. Our approach is based on using equational programs, which support a seamless combination of computation and reasoning, and using…

Computational Complexity · Computer Science 2012-01-06 Daniel Leivant , Ramyaa Ramyaa

We describe here a simple application of rational trees to the implementation of an interpreter for a procedural language written in a logic programming language. This is possible in languages designed to support rational trees (such as…

Data Structures and Algorithms · Computer Science 2007-05-23 Manuel Carro

We define a compilation scheme for a constructor-based, strongly-sequential, graph rewriting system which shortcuts some needed steps. The object code is another constructor-based graph rewriting system. This system is normalizing for the…

Programming Languages · Computer Science 2015-05-28 Sergio Antoy , Jacob Johannsen , Steven Libby

This work explores an unexpected application of Implicit Computational Complexity (ICC) to parallelize loops in imperative programs. Thanks to a lightweight dependency analysis, our algorithm allows splitting a loop into multiple loops that…

Programming Languages · Computer Science 2022-06-20 Clément Aubert , Thomas Rubiano , Neea Rusch , Thomas Seiller

Constraint Handling Rules (CHR) is a rule-based programming language that rewrites collections of constraints. It is typically embedded into a general-purpose language. There exists a plethora of implementation for numerous host languages.…

Programming Languages · Computer Science 2025-08-26 Sascha Rechenberger , Thom Frühwirth

GP 2 is an experimental programming language for computing by graph transformation. An initial interpreter for GP 2, written in the functional language Haskell, provides a concise and simply structured reference implementation. Despite its…

Programming Languages · Computer Science 2015-04-13 Christopher Bak , Glyn Faulkner , Detlef Plump , Colin Runciman

We present the open-source $\texttt{C++}$ library $\texttt{FireFly}$ for the reconstruction of multivariate rational functions over finite fields. We discuss the involved algorithms and their implementation. As an application, we use…

Symbolic Computation · Computer Science 2019-11-28 Jonas Klappert , Fabian Lange

Set functions are a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure. Given a function $f$ of a functional logic program written in Curry, we describe a…

Programming Languages · Computer Science 2018-08-23 Sergio Antoy , Michael Hanus , Finn Teegen

Proof theory provides a foundation for studying and reasoning about programming languages, most directly based on the well-known Curry-Howard isomorphism between intuitionistic logic and the typed lambda-calculus. More recently, a…

Logic in Computer Science · Computer Science 2023-06-22 Farzaneh Derakhshan , Frank Pfenning

This paper presents a programming language which includes paradigms that are usually associated with declarative languages, such as sets, rules and search, into an imperative (functional) language. Although these paradigms are separately…

Programming Languages · Computer Science 2007-05-23 Yves Caseau , Francois-Xavier Josset , Francois Laburthe

It is natural for probabilistic programs to use conditionals to express alternative substructures in models, and loops (recursion) to express repeated substructures in models. Thus, probabilistic programs with conditionals and recursion…

Programming Languages · Computer Science 2020-10-26 David Chiang , Chung-chieh Shan

We present a system, called CASS, for the analysis of functional logic programs. The system is generic so that various kinds of analyses (e.g., groundness, non-determinism, demanded arguments) can be easily integrated. In order to analyze…

Programming Languages · Computer Science 2013-07-18 Michael Hanus , Fabian Reck