Gibt es Anwendungen der Abstrakten Algebra für die Programmiersprachentheorie? Gibt es etwas, das für das Sprachdesign und die Compiler-Implementierung nützlich wäre?
Gibt es Anwendungen der Abstrakten Algebra für die Programmiersprachentheorie? Gibt es etwas, das für das Sprachdesign und die Compiler-Implementierung nützlich wäre?
Antworten:
Algebra im klassischen Sinne des Wortes wird zur Modellierung von Recheneffekten als algebraische Operationen verwendet. Siehe zum Beispiel diese Folien von Gordon Plotkin, oder Sie können echte Artikel und Doktorarbeiten lesen . Thesen , wenn Sie eigentlich die Frage stellen wollten.
Und um mein eigenes Horn zu blasen, schauen Sie sich Eff an und lesen Sie darüber , eine Sprache, die auf der Idee basiert, dass Recheneffekte algebraische Operationen und Handler Homomorphismen von Algebren sind.
Ich habe gezögert zu antworten, weil jede Antwort, die über ein einfaches "Ja" hinausgeht, Bände füllen könnte und tut. Die Semantik der Programmiersprache wurde tiefgreifend von der Entwicklung der kategorialen Logik geprägt, die die Anwendung der Algebra auf die Logik darstellt.
Ich vermute jedoch, dass die beste Möglichkeit zur Beantwortung dieser Frage darin besteht, Ihnen zu sagen, dass Sie Agda lernen sollen. Die Erfahrung, das Programmieren mit abhängigen Typen zu lernen, setzt sich weitgehend damit auseinander, wie umfassend Algebra die Computerprogrammierung durchdringt.
Eigentlich gibt es eine Software für die theoretische abstrakte Algebra. Diese Soft-Erlaubnis berechnet einige Arten von Dingen wie Aktionsgruppen, Homomorphismus usw. Es ist Magma: http://magma.maths.usyd.edu.au/magma/
Ich hoffe das kann dir helfen.