Monadentransformatoren kategorisch erklären


8

Die meisten Ressourcen zu kategorialen Begriffen in der Programmierung beschreiben Monaden, aber ich habe noch nie eine kategoriale Beschreibung von Monadentransformatoren gesehen.

Wie könnten Monadentransformatoren im Sinne der Kategorietheorie beschrieben werden?

Insbesondere würde mich interessieren:

  • die Beziehung zwischen Monadentransformatoren und ihren entsprechenden Basismonaden;
  • die Beziehung zwischen ihnen und den Monaden, die sie in neue Monaden verwandeln;
  • Monadentransformatorstapel.

Antworten:


8

Laut Oleksandr Manzuk handelt es sich um "Übersetzung einer Monade entlang einer Adjunktion", siehe "Berechnung von Monadentransformatoren mit Kategorietheorie" . Das ist übrigens der dritte Hit bei Google für "Monadentransformator kategorisch". Die erste ist eine Stackoverflow-Frage dazu und die zweite ist Ihre Frage.


7

Erweiterung von Andrejs Antwort:

Es gibt noch keine weit verbreitete Übereinstimmung darüber, welche geeigneten Schnittstellen-Monadentransformatoren im Kontext der funktionalen Programmierung unterstützt werden sollten. Haskells MTL ist die De-facto-Schnittstelle, aber Jaskelioffs Monatron ist eine Alternative.

In einem der früheren technischen Berichte von Moggi, einer abstrakten Ansicht von Programmiersprachen , wird in gewissem Maße erörtert, was der richtige Begriff für Transformator sein sollte (Abschnitt 4.1). Insbesondere erörtert er die Idee einer Operation für eine Monade, die er (20 Jahre später) mit Jaskelioff in Monadentransformatoren als Monoidtransformatoren wiederholt .

(Dieser Begriff der Operation unterscheidet sich von Plotkins und Powers Vorstellung einer algebraischen Operation für eine Monade , die einem Kleisli-Pfeil entspricht.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.