Abstraktion von Effekten mit Continuations
Abstracting Effects with Continuations
Fehler als Werte zu behandeln ist mächtig, aber Result und Promise decken nur bestimmte Aspekte ab. Continuations verallgemeinern über die Art der Berechnung: Sie sagen „Ich weiß nicht, wie du den Wert bekommst, aber wenn du ihn hast, mach das.“ Dieser Artikel zeigt anhand eines Gleam-Beispiels, wie man Geschäftslogik einmal schreibt und mit verschiedenen Runnern für synchrone, fehleranfällige und asynchrone Fetch-Funktionen wiederverwendet – ohne Duplikation.
Eine Continuation zu verwenden bedeutet: „Ich habe keine Ahnung, wie du an den Wert kommst, aber wenn du ihn hast, ist das, was als Nächstes passieren soll.“