Functional logic languages are a class of multiparadigm language, where the goal is to combine the two most important types of declarative languages: functional languages and logic-based languages. They are hybrid languages, based on (higher-order) predicate calculus extended with characteristics of the lambda-calculus which allows introducing elements such as (strong(er)) typing. The commonly accepted, proper nomenclature for these languages is: Functional Logic. Compared to pure functional languages, functional logic languages are more expressive, via availability of features like function inversion, partial data structures, existential variables, non-deterministic search. Compared to pure logic languages, functional logic languages are more efficient operationally since functions allow more efficient evaluation strategies (lazy evaluation, deterministic reductions) than predicates. Activity in this area has risen sharply since the early 1990s.

Subcategories 3

Related categories 4

ALF
Foundation: Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. A full integration of both programming models, so any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations.
Curry
Multiparadigm declarative programming language seamlessly merges functional, logic, and concurrent programming paradigms; covers the most important operational principles in the area of integrated functional logic languages.
Escher
Declarative, general-purpose language, merges best features of functional and logic languages. Has types and modules, higher-order and meta-programming facilities, declarative input/output. Set of system modules provides many operations on standard data types: integers, lists, characters, strings, sets, programs. [PDF]
Functional Logic Programming
Michael Hanus's pages on amalgamating functional and logic programming.
HAL
Strongly typed, weakly moded, constraint-logic functional language designed to support construction, extension, and use of new constraint solvers.
LPG
Generic functional logic language: functions defined by conditional rewrite rules, predicates defined by Horn clauses whose bodies may contain equations, disequations, or classical atomic formulae. Extant version uses extension of SLD-resolution merged with innermost narrowing.
The Mercury Project
Logic/functional programming language which combines the clarity and expressiveness of declarative programming with advanced static analysis and error detection features.
RELFUN
Relational-Functional Language: logic-programming language with call-by-value (eager) expressions of non-deterministic, non-ground functions; clauses are Hornish, succeeding with true(s), or footed, returning any value(s), and define operations (relations, functions) allowing (apply-reducible) higher-order syntax with arbitrary terms (constants, structures, variables) as operators.
[Computer Mozilla]
Last update:
May 29, 2015 at 14:15:06 UTC
Computers
Games
Health
Home
News
Recreation
Reference
Regional
Science
Shopping
Society
Sports
All Languages
Arts
Business