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.

Lesezeit: 16 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Von
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.

Immer mehr Wissen. Das digitale Abo für IT und Technik.

  • Zugriff auf alle Inhalte von heise+
  • exklusive Tests, Ratgeber & Hintergründe: unabhängig, kritisch fundiert
  • c't, iX, Technology Review, Mac & i, Make, c't Fotografie direkt im Browser lesen
  • einmal anmelden – auf allen Geräten lesen - monatlich kündbar
  • erster Monat gratis, danach monatlich 9,95 €
  • Wöchentlicher Newsletter mit persönlichen Leseempfehlungen des Chefredakteurs
GRATIS-Monat beginnen Jetzt GRATIS-Monat beginnen Mehr Informationen zu heise+