Clean
aus Wikipedia, der freien Enzyklopädie
Clean | |
---|---|
Paradigmen: | funktional |
Aktuelle Version: | Clean 2.2 ({{{AktuelleVersionFreigabeDatum}}}) |
Einflüsse: | Haskell |
Betriebssystem: | Windows, Linux, Mac OS X, Solaris etc. |
Lizenz: | LGPL, kommerziell |
Website: | http://www.cs.ru.nl/~clean/ |
Clean ist eine funktionale Programmiersprache.
Clean 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.
Clean hat ähnliche Eigenschaften wie die Programmiersprache Haskell.
[Bearbeiten] Beispiele
module hallo Start = "Hallo Welt!"
module fakultaet fak 0 = 1 fak n = n * fak (n-1) // Berechne den Wert von 10 Fakultät Start = fak 10
module fibonacci fib 0 = 0 fib 1 = 1 fib n = fib (n - 2) + fib (n - 1) // Berechne den Wert der siebten Fibonacci-Zahl Start = fib 7
(^) infixr 8 :: Int Int -> Int (^) x 0 = 1 (^) x n = x * x ^ (n-1)
Die gegebene Typdeklaration definiert die Funktion (^) als rechtsassoziativen Infixoperator mit Priorität 8. Dies bedeutet, dass x*x^(n-1)
äquivalent ist zu x*(x^(n-1))
ist, und nicht zu (x*x)^(n-1)
. Der (^)-Operator ist in der Clean-Standard-Umgebung vordefiniert.
[Bearbeiten] Weblinks
- Internetpräsenz von Clean (englisch)