# Functional logic programming

@article{Antoy2010FunctionalLP, title={Functional logic programming}, author={Sergio Antoy and Michael Hanus}, journal={Commun. ACM}, year={2010}, volume={53}, pages={74-85} }

Combining the paradigm features of both logic and functional programming makes for some powerful implementations.

## 120 Citations

Using functions for easier programming

- Computer ScienceCommun. ACM
- 2018

This presentation explains the development of types for knowledge representation and some examples show how different approaches to knowledge representation can lead to different levels of integration.

Functional and Logic Programming

- Computer ScienceLecture Notes in Computer Science
- 2012

proceedings of the 11th International symposium on Functional and Logic Programming (FLOPS 2012), held in Kobe, Japan, May 23-25, 2012

Declarative Multi-paradigm Programming

- Computer ScienceWLP/WFLP
- 2014

This tutorial provides an overview and introduction to declarative programming exploiting multiple paradigms, in particular, functional, logic, and constraint programming, and surveys the features of theDeclarative multi-paradigm language Curry.

Contracts and Specifications for Functional Logic Programming

- Computer SciencePADL
- 2012

This paper discusses the notions of specifications and contracts for functional logic programming and presents a tool that supports the development of declarative programs based on these notions.

Probabilistic Functional Logic Programming

- Computer SciencePADL
- 2018

PFLP is presented, a library for probabilistic programming in the functional logic programming language Curry, and it is seen that an implementation based on the concepts offunctional logic programming can have benefits with respect to performance compared to a standard list-based implementation.

Search strategies for functional logic programming

- Computer ScienceSoftware Engineering
- 2012

It is shown that complete strategies, like breadth-first search or iterative deepening search, are a viable alternative to incomplete strategies that have been favored in the past for logic programming languages.

Functional Logic Programming in Maude

- Computer ScienceSpecification, Algebra, and Software
- 2014

This paper illustrates how many features available in modern functional logic languages are easily definable and simulated in Maude but also shows how Maude goes beyond standard practices in the functional logic area by using, e.g. equational properties such as associativity and commutativity or order-sorted information.

A rewrite-based computational model for functional logic programming

- Computer ScienceSCSS
- 2016

This work considers a recent proposal by Antoy and Hanus, of translating CB-CTRSs into an equivalent class of programs where computation can be performed by mere rewriting, and proposes two adjustments of their computational models, which are capable to compute non-ground answers.

Compiling a Functional Logic Language: The Basic Scheme

- Computer ScienceFLOPS
- 2012

This work presents the design of a compiler for a functional logic programming language and discusses the compiler's implementation, and describes the generation of the 3 procedures that execute graph replacements originating from either rewrite or pull-tab steps.

A Transformation Tool for Functional Logic Program Development ?

- Computer Science
- 2010

A tool to develop functional logic programs from their specifications that can either instrument ordinary programs with run-time assertions obtained from declarative contracts or transform declaratives contracts into prototypical implementations.

## References

SHOWING 1-10 OF 84 REFERENCES

Logic-Based Program Synthesis and Transformation

- Computer ScienceLecture Notes in Computer Science
- 1999

Various formalizations of the concept of “refinement step” as used in the formal development of programs from algebraic specifications are presented and compared.

The Integration of Functions into Logic Programming: From Theory to Practice

- Computer ScienceJ. Log. Program.
- 1994

On a Tighter Integration of Functional and Logic Programming

- Computer ScienceAPLAS
- 2007

A formal approach is presented which shows how improvements in integration could be improved significantly in two separate aspects: sharing computations across non-deterministic branching and the declarative encapsulation of logic search.

Multi-paradigm Declarative Languages

- Computer ScienceICLP
- 2007

This paper surveys approaches to combine different classes of declarative languages, like functional, logic, or constraint programming languages, into a single programming language.

Teaching Functional and Logic Programming with a Single Computational Model

- Computer SciencePLILP
- 1997

It is shown that it is possible to teach the ideas of modern functional languages like Haskell and logic programming on the basis of a single computation model, and the structure of a course based on it is described.

A unified computation model for functional and logic programming

- Computer SciencePOPL '97
- 1997

A new computation model which combines the operational principles of functional languages (reduction), logic languages, and integrated functional logic languages (residuation and narrowing) and is a suitable basis for future declarative programming languages.

Programming in an Integrated Functional and Logic Language

- Computer ScienceJ. Funct. Log. Program.
- 1999

An introduction to the Escher language is provided, concentrating largely on the issue of programming style and theEscher programming idioms not provided by Haskell, and the extra mechanisms needed to support these idioms are discussed.

An Approach to Declarative Programming Based on a Rewriting Logic

- Computer Science

An approach to declarative programming which integrates the functional and relational paradigms by taking possibly non-deterministic lazy functions as the fundamental notion is proposed and the existence of free term models which provide an adequate intended semantics for programs is proved.

Declarative Programming with Function Patterns

- Computer ScienceLOPSTR
- 2005

An extension of functional logic languages that allows the definition of operations with patterns containing patterns containing other defined operation symbols, and suggests an implementation that can be easily integrated with existing functional logic programming systems.

The Execution Algorithm of Mercury, an Efficient Purely Declarative Logic Programming Language

- Computer ScienceJ. Log. Program.
- 1996