Clean (Programmiersprache)


Clean (Programmiersprache)
Clean
Paradigmen: funktional, nicht-strikt, modular, deklarativ
Erscheinungsjahr: 1987
Aktuelle Version: 2.3  (21. Dezember 2010)
Einflüsse: Haskell
Betriebssystem: Windows, Linux, Mac OS X, Solaris etc.
Lizenz: LGPL, kommerziell
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. Auffälligster Unterschied ist die Verwendung von uniqueness typing für die Ein- und Ausgabe anstelle einer Monade.

Beispiele

 module hallo
 
 Start = "Hallo Welt!"

Fakultät (Mathematik):

 module fakultaet
 
 fak 0 = 1
 fak n = n * fak (n-1)
 
 // Berechne den Wert von 10 Fakultät
 Start = fak 10

Fibonacci-Folge:

 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

Infixnotation:

 (^) 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.

Quicksort

  module sort
 
  qsort :: [a] -> [a] | Ord a
  qsort []     = []
  qsort [a:xs] = qsort [x \\ x <- xs | x < a] ++ [a] ++ qsort [x \\ x <-xs | x >= a]
 
  // sortiere Liste
  Start = qsort [5,4,3,2,1]

Weblinks


Wikimedia Foundation.

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Clean — bezeichnet eine Programmiersprache, siehe Clean (Programmiersprache) eine neuseeländische Band, siehe The Clean einen Spielfilm aus dem Jahr 2004, siehe Clean (Film) einen Begehungsstil beim Klettern, siehe Clean Climbing den Zustand der… …   Deutsch Wikipedia

  • Programmiersprache Haskell — Haskell Basisdaten Paradigmen: funktional, nicht strikt, modular …   Deutsch Wikipedia

  • Clean URLs — (dt. saubere URLs oder sprechende URLs) (bzw. URIs) sind URLs, die nichts über die genutzte Technologie preisgeben sondern nur die Ressource selbst beschreiben. Man sieht z. B. kein cgi bin oder cgi im Pfad und selbst die Dateiendungen (z. B. htm …   Deutsch Wikipedia

  • Funktionale Programmiersprache — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Funktionale Programmierung ist ein Programmierparadigma. Programme… …   Deutsch Wikipedia

  • Haskell (Programmiersprache) — Haskell Basisdaten Paradigmen: funktional, nicht strikt, modular, deklarativ Erscheinungsjahr …   Deutsch Wikipedia

  • Logo (Programmiersprache) — Die funktionale Programmiersprache Logo ist eine von Seymour Papert entwickelte Sprache aus den 1960er Jahren. Als Interpretersprache galt Logo als leicht zu erlernen, hatte aber eine für die Zeit der Heimcomputer, als diese Sprache die größte… …   Deutsch Wikipedia

  • Liste der Programmiersprachen — A A (Programmiersprache) A# A+ A 0 A 1 A 2 A 3 A9 AACC AADL AAIMS aal AAPL Aardappel AARDVARK Abacus ABACUS 10 ABACUS/X ABAP ActionScript Ada ADbasic AgentSpeak(L) Agilent VEE AHDL Aleph ALGOL (ALGOL 60, ALGOL W, ALGOL 68) Amber …   Deutsch Wikipedia

  • Funktionionale Programmierung — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Funktionale Programmierung ist ein Programmierparadigma. Programme… …   Deutsch Wikipedia

  • MSWLogo — Die funktionale Programmiersprache Logo ist eine von Seymour Papert entwickelte Sprache aus den 60er Jahren. Als Interpretersprache galt Logo als leicht zu erlernen, hatte aber eine für die Zeit der Heimcomputer, als diese Sprache die größte… …   Deutsch Wikipedia

  • Funktionale Programmierung — ist ein Programmierstil, bei dem Programme ausschließlich aus Funktionen bestehen. Dadurch werden die aus der imperativen Programmierung bekannten Nebenwirkungen vermieden. Die funktionale Programmierung entspringt der akademischen Forschung. In… …   Deutsch Wikipedia