Das Konzept von Monaden mit Rust lernen
(techblog.samsung.com)Hallo, ich teile einen Artikel, der das zentrale Konzept der funktionalen Programmierung, die „Monade“, vergleichsweise leicht erklärt.
Er ist so aufgebaut, dass man das Thema anhand kleiner Beispiele auf Basis der Sprache Rust Schritt für Schritt verstehen kann.
7 Kommentare
Vielen Dank für den guten Artikel.
Rust im Unternehmen – beneidenswert.
Ich wünschte, der Code würde statt als Bild als Text angezeigt.
Ich stimme zu.
Guter Artikel! Allerdings enthält die Erklärung zum Endofunktor einen Fehler, daher wäre es gut, wenn das korrigiert würde: https://x.com/simnalamburt/status/1950074970647761168?s=46
Das ist ein sehr treffender Hinweis!
Es scheint, als sei beim Übertragen von Inhalten, die in anderen Sprachen verfasst wurden, auf Rust-Basis ein Missverständnis entstanden.
Da das Typsystem von Rust eine einzelne Kategorie bildet, scheint die Unterscheidung zwischen Endofunktor und allgemeinem Funktor bedeutungslos zu sein.
Schade, dass der Blog keine Kommentarfunktion hat; ich werde wohl nachfragen müssen, ob eine Korrekturanfrage möglich ist.
Nicht alles ist ein Endofunktor. Bei
Result<T, E>zum Beispiel, wo es mehrere Typparameter gibt, ist es nicht 𝒞 → 𝒞, sondernResult : 𝒞 × 𝒞 → 𝒞, daher ist so etwas ein Bifunktor.