Monaden in Kotlin
Dieser Post ist ein Teil der Reihe über funktionale Softwarearchitektur in Kotlin. Im ersten ging es um funktionale Validierung, in diesem Teil geht es um Monaden. Diese sind in Kotlin vor allem praktisch, wenn es um die Beschreibung von Abläufen in der Domäne geht, die von technischer Logik zur Ausführung dieser Abläufe getrennt werden soll – und zwar unter Verwendung von kleinen domänenspezifischen Sprachen (DSLs).
In dieser Folge geht es darum, wie Monaden überhaupt funktionieren.
Kotlin hat nämlich – wie viele funktionale Sprachen auch – dafür eine
spezielle Syntax, auch wenn man sie nicht unter dem „M-Wort“ in
der Dokumentation findet. Sie versteckt sich hinter dem Schlüsselwort
suspend
.