Einführung: Funktionale Programmierung mit Haskell und Idris

Das Programmieren mit Seiteneffekten, die in der Praxis am meisten Probleme machen, kriegen die funktionalen Sprachen Haskell und Idris in den Griff.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht
Funktionale Programmierung mit Haskell und Idris
Lesezeit: 32 Min.
Von
  • Michael Sperber
Inhaltsverzeichnis

Dieser Artikel ist eine kleine Reise durch einige ausgewählte Elemente der funktionalen Sprachen Haskell und Idris, die das Programmieren mit "Effekten" in den Griff bekommen – also den Aspekt der Programmierung, der in der Praxis am meisten Probleme macht. Vorkenntnisse in Haskell oder Idris sind für die Lektüre zwar hilfreich, aber nicht erforderlich; ein wenig Geduld und Fantasie sind allerdings notwendig.

Der Begriff des "Seiteneffekts" ist allgemein bekannt: Die Auswertung eines Ausdrucks hat in vielen Programmiersprachen nicht nur ein Ergebnis, sondern "verändert die Welt", also den Zustand des Programms, und zwar durch eine Zuweisung an eine Variable oder ein Objektattribut:

x = 5;
...
x = 10;

Funktionale Programmierer meiden Anweisungen mit Seiteneffekten, denn sie führen zu versteckter Kopplung im Programm: Zwischen den Zuweisungen mit jeweils 5 und 10 wird die Variable x wahrscheinlich ausgelesen. Und wenn das zufällig zum falschen Zeitpunkt geschieht, kann der Wert falsch sein. Unzählige Bugs haben als Ursache, dass irgendwie der Zustand falsch ist, weil er unbewusst oder ungewollt verändert wurde.