<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Algebraic_Logic_Functional_programming_language</id>
	<title>Algebraic Logic Functional programming language - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Algebraic_Logic_Functional_programming_language"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Algebraic_Logic_Functional_programming_language&amp;action=history"/>
	<updated>2026-05-09T19:03:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Algebraic_Logic_Functional_programming_language&amp;diff=4908537&amp;oldid=prev</id>
		<title>imported&gt;JJMC89 bot III: Removing :Category:Compilers and interpreters per Wikipedia:Categories for discussion/Log/2024 October 21#Category:Free compilers and interpreters</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Algebraic_Logic_Functional_programming_language&amp;diff=4908537&amp;oldid=prev"/>
		<updated>2024-10-30T02:53:59Z</updated>

		<summary type="html">&lt;p&gt;Removing &lt;a href=&quot;/wiki143/index.php?title=Category:Compilers_and_interpreters&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Category:Compilers and interpreters (page does not exist)&quot;&gt;Category:Compilers and interpreters&lt;/a&gt; per &lt;a href=&quot;https://en.wikipedia.org/wiki/Categories_for_discussion/Log/2024_October_21#Category:Free_compilers_and_interpreters&quot; class=&quot;extiw&quot; title=&quot;wikipedia:Categories for discussion/Log/2024 October 21&quot;&gt;Wikipedia:Categories for discussion/Log/2024 October 21#Category:Free compilers and interpreters&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{For|the proof assistant|ALF (theorem prover)}}&lt;br /&gt;
{{For|the action language for foundational UML|FUML}}&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
|name = ALF&lt;br /&gt;
|logo =&lt;br /&gt;
|paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Logic programming|logic]], [[Functional programming|functional]]&lt;br /&gt;
|year = &lt;br /&gt;
|designer =&lt;br /&gt;
|developer = &lt;br /&gt;
|latest release version = &lt;br /&gt;
|latest release date = &lt;br /&gt;
|typing = &lt;br /&gt;
|implementations = &lt;br /&gt;
|dialects =&lt;br /&gt;
|influenced by = [[Prolog]]&lt;br /&gt;
|influenced = &lt;br /&gt;
|website = {{URL|www.informatik.uni-kiel.de/~mh/systems/ALF}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Algebraic Logic Functional&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;ALF&amp;#039;&amp;#039;&amp;#039;) [[programming language]] combines [[Functional programming|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.&lt;br /&gt;
&lt;br /&gt;
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&amp;#039;s [[operational semantics]] is based on the resolution rule to solve literals and narrowing to evaluate functional expressions. To reduce the number of possible narrowing steps, a leftmost-innermost basic narrowing strategy is used which, it is claimed, can be efficiently implemented.{{Citation needed|date=March 2012}} 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]]&amp;#039;s resolution strategy. Similarly to Prolog, ALF uses a backtracking strategy corresponding to a [[depth-first search]] in the derivation tree.&lt;br /&gt;
&lt;br /&gt;
The ALF system was designed to be an efficient implementation of the combination of resolution, narrowing, rewriting, and rejection. ALF programs are [[Compiler|compiled]] into instructions of an [[abstract machine]], which 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 (programming language)|C]].&lt;br /&gt;
&lt;br /&gt;
In the [[Carnegie Mellon University]] [[Artificial Intelligence]] Repository,&amp;lt;ref name=&amp;#039;CMUAIR&amp;#039;&amp;gt;{{cite web |url=https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html |title=CMU Artificial Intelligence Repository |access-date=2007-06-22 |date=1995-02-13 |publisher=[[Carnegie Mellon University]] |archive-url=https://web.archive.org/web/20070623154858/https://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/0.html |archive-date=23 June 2007 |url-status=live}}&amp;lt;/ref&amp;gt; ALF is included as an AI programming language, more so as a functional/logic programming language Prolog implementation.&amp;lt;ref name=&amp;#039;CMUALF&amp;#039;&amp;gt;{{cite web |url=https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/fp_lp/alf/0.html |title=ALF: Algebraic Logic Functional programming language |access-date=2007-06-22 |date=1995-02-13 |work=CMU Artificial Intelligence Repository |publisher=[[Carnegie Mellon University]] |archive-url=https://web.archive.org/web/20070510020843/https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/prolog/impl/fp_lp/alf/0.html |archive-date=10 May 2007 |url-status=live}}&amp;lt;/ref&amp;gt; A user manual&amp;lt;ref name=&amp;#039;ALFUM&amp;#039;&amp;gt;{{cite web |url=http://www.informatik.uni-kiel.de/~mh/systems/ALF/manual.pdf |title=ALF User&amp;#039;s Manual |access-date=2007-06-22 |last=Hanus |first=Michael |author2=Andreas Schwab |date=1995-02-13 |publisher=Institut für Informatik, [[University of Kiel|Christian-Albrechts-Universität zu Kiel]] |archive-url=https://web.archive.org/web/20070711091450/http://www.informatik.uni-kiel.de/~mh/systems/ALF/manual.pdf |archive-date=11 July 2007 |url-status=live}}&amp;lt;/ref&amp;gt; describing the language and the use of the system is available. The ALF System&amp;lt;ref name=&amp;#039;ALFsys&amp;#039;&amp;gt;{{cite web |url=http://www.informatik.uni-kiel.de/~mh/systems/ALF.html |title=The ALF System |access-date=2007-06-22 |last=Hanus |first=Michael |publisher=Institut für Informatik, Christian-Albrechts-Universität zu Kiel |archive-url=https://web.archive.org/web/20070625154845/http://www.informatik.uni-kiel.de/~mh/systems/ALF.html |archive-date=25 June 2007 |url-status=live}}&amp;lt;/ref&amp;gt; runs on [[Unix]] and is available under a custom [[proprietary software]] [[Software license|license]] that grants the right to use for &amp;quot;evaluation, research and teaching purposes&amp;quot; but not commercial or military use.&amp;lt;ref&amp;gt;{{cite web |last=Hanus |first=Michael |url=https://www.informatik.uni-kiel.de/~mh/systems/ALF/LICENSE |archive-url=https://web.archive.org/web/20151202180826/https://www.informatik.uni-kiel.de/~mh/systems/ALF/LICENSE |archive-date=2 December 2015 |title=ALF License Agreement |work=The ALF System |publisher=Institut für Informatik, Christian-Albrechts-Universität zu Kiel |access-date=2020-03-06 |url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
*[http://www.informatik.uni-kiel.de/~mh/papers/ Publications of Michael Hanus], including many articles relevant to the design and theory of ALF&lt;br /&gt;
*[http://www.informatik.uni-kiel.de/~mh/systems/ALF/README Information about getting and installing the ALF system]&lt;br /&gt;
&lt;br /&gt;
[[Category:Functional logic programming languages]]&lt;br /&gt;
[[Category:Programming languages created in the 1990s]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Comp-sci-stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;JJMC89 bot III</name></author>
	</entry>
</feed>