Zum Forum
Passwort vergessen?
Noch keinen Account?
lexikon
Hauptseite
Zufälliger Artikel
Diskussion
Diskussion : Haskell (Programmiersprache)
Links
Forum
Portale
Reisen
Versicherung
Inhaltsverzeichnis
Hauptmenü
Home
Editorial
Bildung
E-Learning
Fremdsprachen
Magazin
Wissen
Wörterbücher
Enzyklopädien
Expertendienste
Wissenswertes
Praktische Ratgeber
--------------------------
Biologie
Chemie
Computer
Film/ Theater
Geografie
Geschichte
Jura
Kunst
Literatur
Mathematik
Medizin
Musik
Philosophie
Physik/ Astronomie
Politik
Psychologie
Religionen
Sport
Umwelt
Wirtschaft
Reisen
Lexikon
Versicherung
Suchen
Schnellsuche
Suchmaschinen
Metasuchmaschinen
Webkataloge
News
Treffpunkt
Chat
Forum
Suche
Schnellsuche
Sitemap
Kontakt
Impressum
Haskell (Programmiersprache)
Stichpunkte
Allgemein
Dieser Artikel behandelt die Programmiersprache Haskell
dessen Arbeiten zur mathematischen Logik eine maßgebliche Grundlage heutiger funktionaler Programmiersprachen bilden
Zu Informationen des englischen Kunsthistorikers Francis Haskell (1928-2000) siehe Francis Haskell. Haskell ist eine funktionale Programmiersprache
benannt nach dem US-amerikanischen Mathematiker Haskell Brooks Curry
Haskell ist eine standardisierte und statisch typisierte Programmiersprache
die verzögerte Auswertung (engl. lazy evaluation) sowie polymorphe Datentypen unterstützt
die funktionale Programmierung durch die Einführung einer standardisierten
Haskell wurde in den 1980er Jahren mit der Motivation entwickelt
modernen Sprache zu vereinheitlichen
Die aktuelle Version des Sprachstandards liegt unter dem Namen Haskell 98 vor
Haskell bietet sich zur Entwicklung einer großen Bandbreite von Anwendungen an und eignet sich insbesondere auch als Spezifikations- und Lehrsprache
Als funktionale Programmiersprache verspricht Haskell eine hohe Entwicklungsproduktivität sowie kurzen und potentiell gut wartbaren Quellcode
"Verbergen") 1 Beispiele 1.1 Fakultät 1.2 Fibonacci 1.3 QuickSort 2 Weblinks [Bearbeiten]
Sprachkonstrukte aus Haskell wurden auch in die Programmiersprache Python übernommen. Inhaltsverzeichnis showTocToggle("Anzeigen"
Beispiele
[Bearbeiten]
Fakultät
Die klassische Definition der Fakultätsfunktion: fac 0 = 1 fac n = n * fac (n - 1) Eine elegante Definition
die Haskells Notation für Listen benutzt: fac n = product [1..n] [Bearbeiten]
Fibonacci
Die naive Implementierung der Fibonacci-Funktion: fib 0 = 0 fib 1 = 1 fib n = fib (n - 2) + fib (n - 1) Eine schnelle Implementierung der selben Funktion: fibs = 0 : 1 : (zipWith (+) fibs (tail fibs)) Diese Definition erzeugt eine unendliche Liste und faltet diese mit der zipWith-Funktion
Unendliche Datenstrukturen können dank lazy evaluation in Haskell elegant dargestellt werden. [Bearbeiten]
QuickSort
Der QuickSort-Algorithmus
formuliert in Haskell: qsort [] = [] qsort (x:xs) = qsort [y | y <- xs
dass die Funktion auf eine leere Liste angewendet wieder eine leere Liste ergeben soll
y < x] ++ [x] ++ qsort [y | y <- xs
y >= x] Die erste Zeile gibt an
Die zweite Zeile sortiert rekursiv nicht-leere Listen: das erste Element x wird als mittleres Element der Ergebnisliste verwendet
dahinter alle größeren Elemente eingeordnet
Davor werden sortiert alle kleineren
aus der Restliste xs alle kleineren bzw. größeren Elemente als x auszuwählen. Diese Quicksort-Implementierung ist allerdings sehr ineffizient: Das Kopieren und Verlinken vieler kleiner Listen sorgt für eine durchschnittliche asymptotische Laufzeit von <math>O(n^2)<math>
Listenbeschreibungen werden dazu verwendet
Natürlich kann man den Algorithmus aber auch mit der für Quicksort üblichen Laufzeit von <math>O(n cdot log n)<math> implementieren. [Bearbeiten]
Weblinks
http://www.haskell.org/ http://www.informatik.uni-bonn.de/~ralf/teaching/Hskurs_toc.html (deutsch) http://haskell.readscheme.org en:Haskell programming language eo:Haskell fr:Haskell it:Haskell ja:Haskell nl:Haskell pl:Haskell pt:Haskell (linguagem de programação) zh:Haskell
Dieser Artikel basiert auf dem Artikel
Haskell (Programmiersprache)
aus der freien Enzyklopädie
wikipedia
und steht unter der
GNU Lizenz für freie Dokumentation
. In der wikipedia ist eine
Liste der Autoren
verfügbar.
Führungsprozess
Vector Addition.png
Habitat
François Mitterand
François Mitterrand
Georgsmarienhütte (Stahlwerk)
Biozönose
Klicklaut
Atem
[ Zurück ]
Inhalt Lexikon:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
Chat
|
Lexikon
|
Reisen
|
Versicherung
|
Forum
|
Kontakt