Skip to content
EntityQ1754278· pop 17· linked from 53 articles

Referenzielle Transparenz

Sign in to save

property of a computer software expression or subroutine that replacing it in the code with its evaluated result does not change the program's behavior

Wikidata facts

Instance of
quality
Show 2 more facts
facet of
substitution
characteristic of
source code
Sources (1)

via Wikidata · CC0

Article · Deutsch

Die referenzielle Transparenz besagt, dass ein 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 Seiteneffekte hat. Dies ist eine wichtige Eigenschaft des funktionalen Programmierparadigmas. Außerdem ermöglicht dies Programmtransformationen, also die Ersetzung von aufwändig durch einfach zu berechnende Ausdrücke. 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 getchar in 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. So werden z. B. in der funktionalen Programmiersprache Haskell Aktionen, die mit der Umgebung interagieren können, als Werte des Datentyps IO beschrieben. Mittels spezieller Operatoren können aus elementaren Aktionsbeschreibungen komplexe Beschreibungen konstruiert werden. Jedes Haskell-Programm definiert eine Variable main, deren Wert eine Aktionsbeschreibung des gesamten Programms ist. Aktionen können ausgeführt werden, indem ihre Beschreibung in den Wert von main eingebettet wird.

Abstract from DBpedia / Wikipedia · CC BY-SA