Funktionale Programmierung mit Haskell: Vorwort

Aus Wikibooks
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Vorwort [Bearbeiten]

Herzlich Willkommen zu "Funktionale Programmierung mit Haskell". Dieses Buch soll Ihnen eines Tages ein Begleiter in die spannnende Welt der Funktionalen Programmierung sein, zur Zeit jedoch ist das Buch eine Baustelle. Das Buch lag 5 Jahre relativ unbeobachtet im Regal, jetzt habe ich, Tandar, mich seiner vorerst angenommen und erarbeite eine Gliederung und füge etwas Text hinzu, den Sie selbstverständlich ergänzen dürfen. Fügen Sie auch ruhig Gliederungspunkte im Inhaltsverzeichnis hinzu, dadurch erkennen Autoren, was noch gewünscht wird.

Rein Funktionale Programmierung unterscheidet sich von imperativer Programmierung, mit der Sie sich sicher schon auskennen, durch eine Reihe von Details. Diese Unterschiede zu erkennen überlassen wir vollständig Ihnen. Wir werden in diesem Buch keine Vergleiche mit anderen Programmiersprachen ziehen aber darauf hinweisen, wenn Ausdrücke in anderen Sprachen von Haskell beeinflusst wurden oder umgekehrt.

Über Haskell [Bearbeiten]

In Haskell ist fast alles eine Funktion oder ein Zwischenergebnis. Funktionen sind in Haskell im allgemeinen pure[1], was bedeutet, dass ein Funktionsaufruf zu jedem Zeitpunkt dasselbe Ergebnis liefern muss. Es gibt keine globalen Zustände, von denen eine Funktion sonst abhängt. Diese globalen Zustände wären unsichtbare Parameter einer Funktion, und das wollten die Sprachdesigner unbedingt vermeiden. Allerdings geht mit dieser Forderung einher, dass Textausgaben, Zufallsvariablen und Dateien nicht nutzbar sind. Um beides zu ermöglichen wurden eigene Strukturen geschaffen, von denen wir Ihnen in diesem Buch auch berichten werden.

Ausdrücke werden in Haskell nach der lazy[2]-Methode ausgewertet: Man tut so lange gar nichts, bis etwas von einem erwartet wird. So kann man in Haskell einen Ausdruck angeben, der das erste Element einer unendlich großen Menge von Quadratzahlen bestimmt. Statt zuerst die unendlich große Menge nach unendlicher Zeit bereitzustellen, wird einfach das erste Element genommen, welches die Bedingung erfüllt.

Geschichte von Haskell

...

In eigener Sache [Bearbeiten]

Nutzen Sie die Gelegenheit, uns Rückmeldung zu geben. Loben und kritisieren Sie unsere Arbeit auf der Projektseite.

Wir wünschen Ihnen viel Spaß mit Haskell.

Das Autorenteam


Anmerkungen [Bearbeiten]

  1. engl. unverfälscht
  2. engl. faul, träge