Wo finde ich eine elementare strukturelle Betriebssemantik in kleinen Schritten für Schließungen?


8

Lexikalische Verschlüsse sind eine Implementierungstechnik in Sprachen mit erstklassigen Funktionen.

Ich interessiere mich für eine einfache Funktionsbeschreibung von Funktionsschließungen. Kennt jemand eine solche Beschreibung?


5
Ähm, fragen Sie Ihren Berater, den Erfinder von SOS?
— Andrej Bauer

1
Du bist unerbittlich.
— Ohad Kammar

1
Gibt es eine bestimmte Schwierigkeit, die Sie daran hindert, ein kleines SOS selbst aufzuschreiben?
— Martin Berger

Ich weiß, was du vorhast!
— Andrej Bauer

Ich hoffe es, obwohl diese Frage nichts damit zu tun hat.
— Ohad Kammar

Antworten:


5

Ist Kapitel 29 von Bob Harpers Buch das, wonach Sie suchen?


Nein. Dies ist die Standard-Semantik im CK-Maschinenstil, mit der ich vertraut bin. Aus der Überlieferung zur PL-Implementierung weiß ich, dass lexikalische Verschlüsse Standard sind. Ich habe mich gefragt, ob es einen semantischen Bericht gibt, der sie formal hervorhebt.
— Ohad Kammar

Vielleicht könnten Sie Ihren Titel und Ihre Frage bearbeiten, um zu klären, wonach Sie suchen?
— Martin Berger

2
Nein, er sollte seine Diplomarbeit schreiben und mit seinem Berater sprechen. Oder lassen Sie seinen Berater StackExchange verwenden.
— Andrej Bauer

4

Abschlüsse bilden ein wichtiges Konzept, das ich in meiner Klasse für Programmiersprachen zu unterrichten versuche. Meine Vorlesungsunterlagen finden Sie online.

Das Handout 8 zeigt die Semantik großer Schritte unter Verwendung von Umgebungen und Abschlüssen. Das Handout 9 zeigt meinen Geschmack der SECD-Maschine. (Letzteres funktionierte für Unterrichtszwecke nicht so gut, weil sich die Schüler im Detail verirrten und keine guten Intuitionen entwickelten. Also wechselte ich zur Big-Step-Semantik.)

Beides ist nicht das, wonach Sie fragen, aber vielleicht könnten sie einen Ausgangspunkt bilden?

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.