Ich suche nach wirklich einfachen, leicht verständlichen Erklärungen für Rekursionsschemata und Corecursionsschemata (Katamorphismen, Anamorphismen, Hylomorphismen usw.), für die es nicht erforderlich ist, vielen Links zu folgen oder ein Lehrbuch zur Kategorietheorie zu öffnen. Ich bin sicher, dass ich viele dieser Schemata unbewusst neu erfunden und sie während des Codierungsprozesses in meinem Kopf "angewendet" habe (ich bin sicher, dass viele von uns dies getan haben), aber ich habe keine Ahnung, was die (Co-) Rekursionsschemata ich bin Verwendung genannt werden. (OK, ich habe gelogen. Ich habe gerade über einige von ihnen gelesen, was diese Frage aufgeworfen hat. Aber bis heute hatte ich keine Ahnung.)
Ich denke, die Verbreitung dieser Konzepte innerhalb der Programmiergemeinschaft wurde durch die verbotenen Erklärungen und Beispiele behindert, auf die man häufig stößt - zum Beispiel auf Wikipedia, aber auch anderswo.
Es wurde wahrscheinlich auch durch ihre Namen behindert. Ich denke, es gibt einige alternative, weniger mathematische Namen (etwas über Bananen und Stacheldraht?), Aber ich habe keine Ahnung, was die süßeren Namen für Rekursionsschemata sind, die ich auch verwende.
Ich denke, es wäre hilfreich, Beispiele mit Datentypen zu verwenden, die einfache Probleme der realen Welt darstellen, anstatt abstrakte Datentypen wie Binärbäume.