Jedes Mal, wenn jemand verspricht, "Monaden zu erklären", wird mein Interesse geweckt, nur um von Frustration abgelöst zu werden, wenn die angebliche "Erklärung" eine lange Liste von Beispielen ist, die mit der beiläufigen Bemerkung endet, die "mathematische Theorie" hinter den "esoterischen Ideen" sei "zu kompliziert, um sie an dieser Stelle zu erklären".
Jetzt verlange ich das Gegenteil. Ich habe ein solides Verständnis der Kategorientheorie und ich habe keine Angst vor Diagrammverfolgung, Yonedas Lemma oder abgeleiteten Funktoren (und in der Tat vor Monaden und Zuschläge im kategorischen Sinne).
Kann mir jemand eine klar und prägnant Was ist eine Monade in der funktionalen Programmierung? Je weniger Beispiele, desto besser: Manchmal sagt ein klares Konzept mehr als hundert zaghafte Beispiele. Haskell würde sich gut als Demonstrationssprache eignen, aber ich bin nicht wählerisch.