<?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=Clean_%28Programmiersprache%29</id>
	<title>Clean (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=Clean_%28Programmiersprache%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Clean_(Programmiersprache)&amp;action=history"/>
	<updated>2026-05-25T01:59:31Z</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=Clean_(Programmiersprache)&amp;diff=317626&amp;oldid=prev</id>
		<title>imported&gt;Lómelinde: text→clean</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Clean_(Programmiersprache)&amp;diff=317626&amp;oldid=prev"/>
		<updated>2023-04-22T13:41:16Z</updated>

		<summary type="html">&lt;p&gt;text→clean&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Infobox Programmiersprache&lt;br /&gt;
| Name= Clean&lt;br /&gt;
| Logo = &lt;br /&gt;
| Beschreibung = &lt;br /&gt;
| Paradigma = [[Funktionale Programmierung|funktional]], [[Bedarfsauswertung|nicht-strikt]], [[Modul (Software)|modular]], [[Deklarative Programmierung|deklarativ]]&lt;br /&gt;
| Erscheinungsjahr = 1987&lt;br /&gt;
| Entwickler = &lt;br /&gt;
| AktuelleVersion = 3.1&lt;br /&gt;
| AktuelleVersionFreigabeDatum = 20. Dezember 2021&lt;br /&gt;
| Typisierung = &lt;br /&gt;
| Implementierung = &lt;br /&gt;
| Dialekte = &lt;br /&gt;
| Beeinflusst_von = [[Haskell (Programmiersprache)|Haskell]]&lt;br /&gt;
| Beeinflusste = &lt;br /&gt;
| Betriebssystem= [[Microsoft Windows|Windows]], [[Linux]], [[Mac OS X]], [[Solaris (Betriebssystem)|Solaris]] etc.&lt;br /&gt;
| Lizenz= [[GNU Lesser General Public License|LGPL]], kommerziell&lt;br /&gt;
| Website= https://clean.cs.ru.nl/Clean&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Clean&amp;#039;&amp;#039;&amp;#039; ist eine [[Funktionale Programmierung|funktionale]] Programmiersprache.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Clean&amp;#039;&amp;#039; zeichnet sich durch [[referenzielle Transparenz]] aus, was bedeutet, dass das Ergebnis eines Funktionsaufrufes nur von den Eingabeparametern abhängt. Bei gleichen Eingabeparametern erhält man also auch immer das gleiche Ergebnis.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Clean&amp;#039;&amp;#039; hat ähnliche Eigenschaften wie die Programmiersprache [[Haskell (Programmiersprache)|Haskell]].&lt;br /&gt;
Auffälligster Unterschied ist die Verwendung von [[Wegwerftyp|uniqueness typing]] für die Ein- und Ausgabe anstelle einer [[Monade (Informatik)|Monade]].&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;clean&amp;quot;&amp;gt;&lt;br /&gt;
 module hallo&lt;br /&gt;
&lt;br /&gt;
 Start = &amp;quot;Hallo Welt!&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fakultät (Mathematik)]]:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;clean&amp;quot;&amp;gt;&lt;br /&gt;
 module fakultaet&lt;br /&gt;
&lt;br /&gt;
 fak 0 = 1&lt;br /&gt;
 fak n = n * fak (n-1)&lt;br /&gt;
&lt;br /&gt;
 // Berechne den Wert von 10 Fakultät&lt;br /&gt;
 Start = fak 10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Fibonacci-Folge]]:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;clean&amp;quot;&amp;gt;&lt;br /&gt;
 module fibonacci&lt;br /&gt;
&lt;br /&gt;
 fib 0 = 0&lt;br /&gt;
 fib 1 = 1&lt;br /&gt;
 fib n = fib (n - 2) + fib (n - 1)&lt;br /&gt;
&lt;br /&gt;
 // Berechne den Wert der siebten Fibonacci-Zahl&lt;br /&gt;
 Start = fib 7&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Infixnotation]]:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;clean&amp;quot;&amp;gt;&lt;br /&gt;
 (^) infixr 8 :: Int Int -&amp;gt; Int&lt;br /&gt;
 (^) x 0 = 1&lt;br /&gt;
 (^) x n = x * x ^ (n-1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die gegebene Typdeklaration definiert die Funktion &amp;lt;code&amp;gt;(^)&amp;lt;/code&amp;gt; als [[Operatorassoziativität#Rechtsassoziative Operatoren|rechtsassoziativen]] Infixoperator mit Priorität&amp;amp;nbsp;8. Dies bedeutet, dass &amp;lt;code&amp;gt;x*x^(n-1)&amp;lt;/code&amp;gt; äquivalent ist zu &amp;lt;code&amp;gt;x*(x^(n-1))&amp;lt;/code&amp;gt; ist, und nicht zu &amp;lt;code&amp;gt;(x*x)^(n-1)&amp;lt;/code&amp;gt;. Der &amp;lt;code&amp;gt;(^)&amp;lt;/code&amp;gt;-Operator ist in der Clean-Standard-Umgebung vordefiniert.&lt;br /&gt;
&lt;br /&gt;
[[Quicksort]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;clean&amp;quot;&amp;gt;&lt;br /&gt;
  module sort&lt;br /&gt;
&lt;br /&gt;
  qsort :: [a] -&amp;gt; [a] | Ord a&lt;br /&gt;
  qsort []     = []&lt;br /&gt;
  qsort [a:xs] = qsort [x \\ x &amp;lt;- xs | x &amp;lt; a] ++ [a] ++ qsort [x \\ x &amp;lt;-xs | x &amp;gt;= a]&lt;br /&gt;
&lt;br /&gt;
  // sortiere Liste&lt;br /&gt;
  Start = qsort [5,4,3,2,1]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
&lt;br /&gt;
* [https://clean.cs.ru.nl/Clean Internetpräsenz von Clean] (englisch)&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Funktionale Programmiersprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Lómelinde</name></author>
	</entry>
</feed>