Sauber (Programmiersprache)

In der Informatik, Sauber ist eine rein funktionelle Mehrzweckcomputerprogrammiersprache.

Eigenschaften

Die Sprache Sauber erst ist 1987 erschienen und wird noch weiter entwickelt; es teilt viele Eigenschaften mit Haskell:

Verweisungsdurchsichtigkeit, Listenverständnis, Wächter, Müll-Sammlung, fungiert höhere Ordnung und mit Currysoße zubereitende und faule Einschätzung.

Eine einheitliche Entwicklungsumgebung (IDE) wird in den Sauberen Vertrieb eingeschlossen.

Die Methode von Clean, um sich mit veränderlichem Staat und Eingabe/Ausgabe zu befassen, wird durch ein Einzigartigkeitsschreiben-System im Gegensatz zum Gebrauch von Haskell von monads getan.

"Das Einzigartigkeitstyp-System erlaubt auch dem Sauberen Bearbeiter, effizienten Code weil einzigartig zu erzeugen

zugeschriebene Datenstrukturen können zerstörend aktualisiert werden."

Beispiele

Hallo Welt:

Modul hallo

Anfang:: {#Char }\

Fangen Sie = "Hallo, Welt an!"

Factorial:

Modul factorial

fac 0 = 1

fac n = n * fac (n-1)

//finden Sie den factorial von 10

Fangen Sie = fac 10 an

Factorial:

Modul factorial2

importieren Sie StdEnv

fac 0 = 1

fac n = Stoß [1.. n]//Erzeugen eine Liste, die von 1 bis n geht und das Produkt der Elemente zurückgibt

//finden Sie den factorial von 6

Fangen Sie = fac 6 an

Folge von Fibonacci:

Modul fibonacci

Flunkerei 0 = 0

Flunkerei 1 = 1

Flunkerei n = Flunkerei (n - 2) + Flunkerei (n - 1)

Fangen Sie = Flunkerei 7 an

Infix-Maschinenbediener:

(^) infixr 8:: Int Interne Nummer-> Interne Nummer

(^) x 0 = 1

(^) x n = x * x ^ (n-1)

Die Typ-Behauptung stellt fest, dass die Funktion ein richtiger assoziativer Infix-Maschinenbediener mit dem Vorrang 8 ist: Das stellt fest, dass das zu im Vergleich damit gleichwertig ist; dieser Maschinenbediener wird in der Sauberen Standardumgebung vorherbestimmt.

Wie Saubere Arbeiten

Berechnung basiert auf dem Graph-Neuschreiben und der Verminderung. Konstanten wie Zahlen sind Graphen, und Funktionen sind Graph-Neuschreiben-Formeln. Das, das mit der Kompilation zum heimischen Code verbunden ist, macht Saubere Programme relativ schnell sogar mit der hohen Abstraktion.

Das Kompilieren

  1. Quelldateien (.icl) und Projektdateien (.dcl) werden in den mit der Plattform unabhängigen bytecode von Clean (.abc) umgewandelt, in C durchgeführt und Sauber.
  2. Bytecode wird umgewandelt, um Code (.obj) einzuwenden, C verwendend.
  3. Gegenstand-Code wird mit anderen Dateien im Modul und dem Laufzeitsystem verbunden und in einen normalen rechtskräftigen im Sauberen umgewandelt.

Früher wurden Saubere Systemversionen völlig in C geschrieben, so urladende Probleme vermeidend.

Plattformen

Sauber ist für Windows von Microsoft verfügbar. Es ist auch mit beschränkten Fähigkeiten des Eingangs/Produktion und ohne die "Dynamik"-Eigenschaft für den Apple Macintosh, Solaris und Linux verfügbar.

Lizenz

Sauber ist lizenziert Doppel-: Es ist in Form vom GNU LGPL, und auch laut einer Eigentumslizenz verfügbar.

Gegen Haskell

Geschwindigkeit

Ein Staat, der Sauber schneller ist als Haskell, aber andere Forschung zeigt, dass das von der Art des Programms abhängt, das geprüft wird.

Syntaktische Unterschiede

Die Syntax von Sauberen ist Haskell mit einigen bemerkenswerten Unterschieden sehr ähnlich:

Siehe auch

  • Programmiersprache von Haskell
  • Liste von funktionellen Programmierthemen

Links


Dieses sportliche Leben / Skalarfeld
Impressum & Datenschutz