Algebraic Logic Functional programming language

Algebraic Logic Functional programming language, also known as ALF, is a programming language which combines functional and logic programming techniques. Its foundation is Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming.

Comment
enAlgebraic Logic Functional programming language, also known as ALF, is a programming language which combines functional and logic programming techniques. Its foundation is Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming.
Has abstract
enAlgebraic Logic Functional programming language, also known as ALF, is a programming language which combines functional and logic programming techniques. Its foundation is Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. ALF was designed to be genuine integration of both programming paradigms, and thus any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations. ALF's operational semantics is based on the resolution rule to solve literals and narrowing to evaluate functional expressions. In order to reduce the number of possible narrowing steps, a leftmost-innermost basic narrowing strategy is used which, it is claimed, can be efficiently implemented. Terms are simplified by rewriting before a narrowing step is applied and equations are rejected if the two sides have different constructors at the top. Rewriting and rejection are supposed to result in a large reduction of the search tree and produce an operational semantics that is more efficient than Prolog's resolution strategy. Similarly to Prolog, ALF uses a backtracking strategy corresponding to a depth-first search in the derivation tree. The ALF system was designed to be an efficient implementation of the combination of resolution, narrowing, rewriting, and rejection. ALF programs are compiled into instructions of an abstract machine. The abstract machine is based on the Warren Abstract Machine (WAM) with several extensions to implement narrowing and rewriting. In the current ALF implementation programs of this abstract machine are executed by an emulator written in C. In the Carnegie Mellon University Artificial Intelligence Repository, ALF is included as an AI programming language, in particular as a functional/logic programming language Prolog implementation. A user manual describing the language and the use of the system is available. The ALF System runs under Unix and is available under a custom proprietary software license that grants the right to use for "evaluation, research and teaching purposes" but not commercial or military use.
Homepage
www.informatik.uni-kiel.de/~mh/systems/ALF/README
Hypernym
Language
Is primary topic of
Algebraic Logic Functional programming language
Label
enAlgebraic Logic Functional programming language
Link from a Wikipage to an external page
www.informatik.uni-kiel.de/~mh/papers/
www.informatik.uni-kiel.de/~mh/systems/ALF/README
Link from a Wikipage to another Wikipage
Artificial Intelligence
C (programming language)
Carnegie Mellon University
Category:Compilers and interpreters
Category:Functional logic programming languages
Category:Logic programming languages
Category:Programming languages created in the 1990s
Depth-first search
Functional (programming)
Functional programming
Horn clause
Logic programming
Multi-paradigm programming language
Operational semantics
Programming language
Prolog (programming language)
Proprietary software license
Unix
Warren Abstract Machine
Name
enALF
Name
enALF
Page
www.informatik.uni-kiel.de/~mh/systems/ALF/README
Paradigm
Functional programming
Logic programming
Multi-paradigm programming language
SameAs
4NaXG
Algebraic Logic Functional programming language
m.03r9j8
Q4723982
زبان برنامه‌نویسی تابعی منطقی جبری
Subject
Category:Compilers and interpreters
Category:Functional logic programming languages
Category:Logic programming languages
Category:Programming languages created in the 1990s
WasDerivedFrom
Algebraic Logic Functional programming language?oldid=1091438352&ns=0
Website
README
WikiPageLength
5689
Wikipage page ID
11868019
Wikipage revision ID
1091438352
WikiPageUsesTemplate
Template:Citation needed
Template:Comp-sci-stub
Template:For
Template:Infobox programming language