Nachdem ich Haskell und andere nicht so reine FP-Sprachen gelernt hatte, entschloss ich mich, über Kategorietheorie zu lesen. Nachdem ich ein gutes Verständnis der Kategorietheorie erlangt hatte, begann ich darüber nachzudenken, wie die Konzepte der Kategorietheorie zum Entwerfen von Programmen verwendet werden können, aber egal, wie sehr ich es versucht habe, scheint dies nicht der richtige Weg zu sein.
Nachdem ich viele erfolglose Versuche unternommen hatte, Kategorietheorie mit dem Entwerfen von Programmen in Verbindung zu bringen, kam ich zu dem Schluss, dass:
- Die Kategorietheorie ist hilfreich beim Entwerfen einer Programmiersprache .
- Die Kategorietheorie verwenden Sie nicht, wenn Entwerfen von Programmen nicht verwendet (selbst wenn eine Sprache verwendet wird, die auf Kategorienprinzipien basiert). Zum Beispiel: Wenn Sie in Haskell programmieren, verwenden Sie Typen, Typenkonstruktoren, Funktionen, Funktionen höherer Ordnung usw., um Ihr Programm zu entwerfen, nicht kategorietheoretische Konzepte.
Zusammenfassend haben wir unter Schichtsystem (Reihenfolge ist niedrig zu hoch):
Kategorietheorie -> Programmiersprache -> Programm
Auf einer bestimmten Ebene verwenden Sie die Konzepte der unmittelbar darunter liegenden Ebene .
Ist dieses Verständnis richtig? Wenn nicht und du glaubst das in wir Entwerfen von Programmen Konzepte der Kategorietheorie direkt verwenden können, verweisen Sie auf einige Artikel oder Blog-Beiträge, in denen dies demonstriert wird.
HINWEIS: Mit dem Entwerfen von Programmen ist das Entwerfen von Programmen gemeint, die auf verschiedenen Konzepten basieren, wie Parallelität, Parallelität, Reaktivität, Nachrichtenübermittlung usw.