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.