English
Related papers

Related papers: Functional Logic Program Transformations

200 papers

Unintended failures during a computation are painful but frequent during software development. Failures due to external reasons (e.g., missing files, no permissions) can be caught by exception handlers. Programming failures, such as calling…

Programming Languages · Computer Science 2024-02-21 Michael Hanus

The importance of transformations and normal forms in logic programming, and generally in computer science, is well documented. This paper investigates transformations and normal forms in the context of Defeasible Logic, a simple but…

Logic in Computer Science · Computer Science 2021-02-16 G. Antoniou , D. Billington , G. Governatori , M. J. Maher

Symbolic computation is an important approach in automated program analysis. Most state-of-the-art tools perform symbolic computation as interpreters and directly maintain symbolic data. In this paper, we show that it is feasible, and in…

Programming Languages · Computer Science 2019-07-10 Henrich Lauko , Petr Ročkai , Jiří Barnat

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

Higher-order logic programming is an interesting extension of traditional logic programming that allows predicates to appear as arguments and variables to be used where predicates typically occur. Higher-order characteristics are indeed…

Programming Languages · Computer Science 2018-12-04 Antonis Troumpoukis , Angelos Charalambidis

We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a language of finitely supported boolean functions. Finite…

Programming Languages · Computer Science 2026-04-30 Michael Arntzenius , Max Willsey

Qualification has been recently introduced as a generalization of uncertainty in the field of Logic Programming. In this report we investigate a more expressive language for First-Order Functional Logic Programming with Constraints and…

Programming Languages · Computer Science 2011-01-12 Rafael Caballero , Mario Rodríguez-Artalejo , Carlos A. Romero-Díaz

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

Program transformations are widely used in synthesis, optimization, and maintenance of software. Correctness of program transformations depends on preservation of some important properties of the input program. By regarding programs as…

Logic in Computer Science · Computer Science 2012-09-25 Aditya Kanade , Amitabha Sanyal , Uday P. Khedker

Fuzzy logic programming is a growing declarative paradigm aiming to integrate fuzzy logic into logic programming. One of the most difficult tasks when specifying a fuzzy logic program is determining the right weights for each rule, as well…

Programming Languages · Computer Science 2016-08-17 Ginés Moreno , Jaime Penabad , Germán Vidal

Many functional logic languages are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction mechanism of functional languages and the resolution principle of logic languages. Needed narrowing is an…

Programming Languages · Computer Science 2007-05-23 Maria Alpuente , Michael Hanus , Salvador Lucas , German Vidal

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

Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic…

Software Engineering · Computer Science 2007-05-23 Ian Hayes , Robert Colvin , David Hemer , Paul Strooper , Ray Nickson

Automatic code transformation in which transformations are tuned for specific applications and contexts are difficult to achieve in an accessible manner. In this paper, we present an approach to build application specific code…

Programming Languages · Computer Science 2013-01-21 Matthew J. Sottile , Geoffrey C. Hulette

Advances in logic programming and increasing industrial uptake of Datalog-inspired approaches demonstrate the emerging need to express powerful code analyses more easily. Declarative program analysis frameworks (e.g., using logic…

Software Engineering · Computer Science 2021-12-24 Rijnard van Tonder

Program specialisation aims at improving the overall performance of programs by performing source to source transformations. A common approach within functional and logic programming, known respectively as partial evaluation and partial…

Programming Languages · Computer Science 2007-05-23 Michael Leuschel , Maurice Bruynooghe

Stepwise refinement of algebraic specifications is a well known formal methodology for program development. However, traditional notions of refinement based on signature morphisms are often too rigid to capture a number of relevant…

Logic in Computer Science · Computer Science 2015-07-01 Manuel A. Martins , Alexandre Madeira , Luis S. Barbosa

Logic can be made useful for programming and for databases independently of logic programming. To be useful in this way, logic has to provide a mechanism for the definition of new functions and new relations on the basis of those given in…

Logic in Computer Science · Computer Science 2014-12-30 M. H. van Emden

Semantic understanding of programs has attracted great attention in the community. Inspired by recent successes of large language models (LLMs) in natural language understanding, tremendous progress has been made by treating programming…

Machine Learning · Computer Science 2023-06-13 Jianyu Zhao , Yuyang Rong , Yiwen Guo , Yifeng He , Hao Chen

Many metainterpreters found in the logic programming literature are nondeterministic in the sense that the selection of program clauses is not determined. Examples are the familiar "demo" and "vanilla" metainterpreters. For some…

Logic in Computer Science · Computer Science 2007-05-23 David A. Rosenblueth