<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Algebraische_Programmiersprache</id>
	<title>Algebraische Programmiersprache - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Algebraische_Programmiersprache"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Algebraische_Programmiersprache&amp;action=history"/>
	<updated>2026-05-26T16:04:33Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Algebraische_Programmiersprache&amp;diff=1287095&amp;oldid=prev</id>
		<title>imported&gt;DynaMoToR: /* Einzelnachweise */</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Algebraische_Programmiersprache&amp;diff=1287095&amp;oldid=prev"/>
		<updated>2024-04-15T04:07:41Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einzelnachweise&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;algebraische Programmiersprache&amp;#039;&amp;#039;&amp;#039; erfüllt die Eigenschaften der [[Referenzielle Transparenz|referenziellen Transparenz]]. Das Konzept ist verwandt mit demjenigen [[Funktionale Programmiersprache|funktionaler Programmiersprachen]].&lt;br /&gt;
&lt;br /&gt;
== Termumformungen von Gleichungen und neue Sprachen ==&lt;br /&gt;
&lt;br /&gt;
Für Termumformungen von Gleichungen in der [[Algebra]] (bzw. Programmcode in [[Programmiersprache]]n) müssen Regeln wie das [[Kommutativgesetz]] oder das [[Distributivgesetz]] gelten. Die Regeln sind allerdings für den Programmcode in vielen Programmiersprachen nicht umsetzbar, da Nebeneffekte&amp;amp;nbsp;– wie Änderung globaler [[Variable (Programmierung)|Variablen]] und [[Eingabe und Ausgabe|IO]]-Aktionen&amp;amp;nbsp;– in den [[Funktion (Programmierung)|Funktionen]] erlaubt sind und somit diese Regeln aufheben.&lt;br /&gt;
&lt;br /&gt;
[[John W. Backus]] erkannte diesen Sachverhalt. Als er 1978 den [[Turing Award]] erhielt, schlug er in seinem Vortrag die [[FP-System]]e vor und zeigte Beispiele weiterer Termumformungsregeln.&amp;lt;ref&amp;gt;John Backus: &amp;#039;&amp;#039;Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs.&amp;#039;&amp;#039; In: &amp;#039;&amp;#039;Communications of the ACM.&amp;#039;&amp;#039; Vol. 21, No. 8, August 1978, S. 613–641 ([http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf PDF; 3,0&amp;amp;nbsp;MB]&lt;br /&gt;
), ([https://web.archive.org/web/20210130073705/http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf Archive.org; 30. Januar 2021])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die FP-Systeme vermieden allerdings grundsätzlich Variablen, was er in englischer Sprache „Function-level programming“ nannte. Heute wird auch der [[Lambda-Kalkül]] in [[Funktionale Programmierung|rein funktionalen Programmiersprachen]] verwendet, es wird dann auf [[Zuweisung|Variablenzuweisungen]] verzichtet, was es nötig macht, [[Schleife (Programmierung)|Schleifen]] durch [[Rekursion]] zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
== Vorschlag algebraische Programmiersprache ==&lt;br /&gt;
&lt;br /&gt;
Der Begriff &amp;#039;&amp;#039;algebraische Programmiersprache&amp;#039;&amp;#039; soll die Formulierungen &amp;#039;&amp;#039;function-level programming&amp;#039;&amp;#039; und &amp;#039;&amp;#039;rein funktionale Programmiersprache&amp;#039;&amp;#039; zusammenfassen, da algebraische Regeln und referenzielle Transparenz, die diese Regeln in Programmiersprachen ermöglicht, eng zusammenstehen.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmiersprachklasse]]&lt;/div&gt;</summary>
		<author><name>imported&gt;DynaMoToR</name></author>
	</entry>
</feed>