Backcalls
Backcalls werden verwendet, um Callbacks zu entkoppeln (unnesting). Sie werden mit Pfeilen nach links definiert und füllen standardmäßig als letzter Parameter einen Funktionsaufruf. Die Syntax ist weitgehend wie bei normalen Pfeilfunktionen, nur dass der Pfeil in die andere Richtung zeigt und der Funktionskörper keine Einrückung benötigt.
x <- fprint "hallo" .. xx <- fprint "hallo" .. xFat-Arrow-Funktionen sind ebenfalls verfügbar.
<= fprint @value<= fprint @valueDu kannst einen Platzhalter angeben, an welcher Stelle die Backcall-Funktion als Parameter eingesetzt werden soll.
(x) <- map _, [1, 2, 3]x * 2(x) <- map _, [1, 2, 3]x * 2Wenn du nach deinen Backcalls weiteren Code haben willst, kannst du sie mit einem do-Statement absetzen. Bei Nicht-Fat-Arrow-Funktionen können die Klammern weggelassen werden.
result, msg = do data <- readAsync "dateiname.txt" print data info <- processAsync data check infoprint result, msgresult, msg = do data <- readAsync "dateiname.txt" print data info <- processAsync data check infoprint result, msg