<?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=Referenzielle_Transparenz</id>
	<title>Referenzielle Transparenz - 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=Referenzielle_Transparenz"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Referenzielle_Transparenz&amp;action=history"/>
	<updated>2026-06-26T03:16:01Z</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=Referenzielle_Transparenz&amp;diff=525251&amp;oldid=prev</id>
		<title>imported&gt;Siphonarius: Änderungen von 2A02:908:1A12:CCE0:1CAE:5729:EA86:F6B6 (Diskussion) auf die letzte Version von Bicycle Tourer zurückgesetzt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Referenzielle_Transparenz&amp;diff=525251&amp;oldid=prev"/>
		<updated>2022-11-14T21:30:42Z</updated>

		<summary type="html">&lt;p&gt;Änderungen von &lt;a href=&quot;/index.php/Spezial:Beitr%C3%A4ge/2A02:908:1A12:CCE0:1CAE:5729:EA86:F6B6&quot; title=&quot;Spezial:Beiträge/2A02:908:1A12:CCE0:1CAE:5729:EA86:F6B6&quot;&gt;2A02:908:1A12:CCE0:1CAE:5729:EA86:F6B6&lt;/a&gt; (&lt;a href=&quot;/index.php?title=Benutzer_Diskussion:2A02:908:1A12:CCE0:1CAE:5729:EA86:F6B6&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer Diskussion:2A02:908:1A12:CCE0:1CAE:5729:EA86:F6B6 (Seite nicht vorhanden)&quot;&gt;Diskussion&lt;/a&gt;) auf die letzte Version von &lt;a href=&quot;/index.php?title=Benutzer:Bicycle_Tourer&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:Bicycle Tourer (Seite nicht vorhanden)&quot;&gt;Bicycle Tourer&lt;/a&gt; zurückgesetzt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Belege}}&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;referenzielle Transparenz&amp;#039;&amp;#039;&amp;#039; besagt, dass ein [[Ausdruck (Programmierung)|Ausdruck]] mit seinem Wert ersetzt werden kann, ohne das Verhalten des Programms zu ändern. Dies bedeutet, dass der Ausdruck pur ist, also für gleiche Eingabewerte das gleiche Ergebnis liefert und keine [[Seiteneffekt|Seiteneffekte]] hat.&amp;lt;ref&amp;gt;{{Internetquelle |autor=HaskellWiki contributors |url=https://wiki.haskell.org/Referential_transparency |titel=Referential transparency |werk=HaskellWiki |abruf=2021-03-21 |sprache=en}}&amp;lt;/ref&amp;gt; Dies ist eine wichtige Eigenschaft des [[Funktionale Programmierung|funktionalen Programmierparadigmas]].&lt;br /&gt;
&lt;br /&gt;
Außerdem ermöglicht dies &amp;#039;&amp;#039;Programmtransformationen&amp;#039;&amp;#039;, also die Ersetzung von &amp;#039;&amp;#039;aufwändig&amp;#039;&amp;#039; durch &amp;#039;&amp;#039;einfach&amp;#039;&amp;#039; zu berechnende Ausdrücke.&lt;br /&gt;
&lt;br /&gt;
Das Prinzip der referenziellen Transparenz wirft aber auch Probleme auf. So ist das einfache Auslesen eines mit der Tastatur eingegebenen Zeichens nicht direkt möglich; solch eine Funktion – wie [[Eingabe (Computer)|&amp;lt;code&amp;gt;getchar&amp;lt;/code&amp;gt;]] in [[C (Programmiersprache)|C]] – ist nicht erlaubt. Jedes Mal wäre der Rückgabewert abhängig von der Eingabe des Benutzers. Damit entstünden Kommunikationsprobleme mit der Umgebung.&lt;br /&gt;
&lt;br /&gt;
So werden z.&amp;amp;nbsp;B. in der funktionalen Programmiersprache [[Haskell (Programmiersprache)|Haskell]] Aktionen, die mit der Umgebung interagieren können, als Werte des Datentyps &amp;lt;code&amp;gt;IO&amp;lt;/code&amp;gt; beschrieben. Mittels spezieller Operatoren können aus elementaren Aktionsbeschreibungen komplexe Beschreibungen konstruiert werden. Jedes Haskell-Programm definiert eine Variable &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;, deren Wert eine Aktionsbeschreibung des gesamten Programms ist. Aktionen können ausgeführt werden, indem ihre Beschreibung in den Wert von &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; eingebettet wird.&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Siphonarius</name></author>
	</entry>
</feed>