Ich fing an, immer mehr sprachwissenschaftliche Artikel zu lesen. Ich finde es sehr interessant und eine gute Möglichkeit, mehr über das Programmieren im Allgemeinen zu lernen. Es gibt jedoch normalerweise einen Abschnitt, mit dem ich immer zu kämpfen habe (nehmen Sie zum Beispiel Teil drei davon ), da mir der theoretische Hintergrund in der Informatik fehlt: Typregeln.
Gibt es in diesem Bereich gute Bücher oder Online-Ressourcen für den Einstieg? Wikipedia ist unglaublich vage und hilft Anfängern nicht wirklich.
Antworten:
In den meisten Typsystemen arbeiten die Typregeln zusammen, um Urteile der Form zu definieren:
Dies besagt, dass im Kontext der Ausdruck den Typ . ist eine Abbildung der freien Variablen von auf ihre Typen.e τ Γ eΓ e τ
Γ e
Ein Typensystem besteht aus einer Reihe von Axiomen und Regeln (ein formales System von Inferenzregeln , wie Raphael hervorhebt).
Ein Axiom ist von der Form
Dies besagt, dass das Urteil (immer) gilt.Γ⊢e:τ
Ein Beispiel ist
die besagt , daß unter der Annahme , dass die Art der Variablenx ist τ , dann wird der Ausdruck x hat Typ τ .
Inferenzregeln nehmen bereits ermittelte Tatsachen und bauen daraus größere Tatsachen auf. Zum Beispiel die Inferenzregel
sagt, wenn ich eine Ableitung der Tatsache und eine Ableitung der Tatsache Γ Γ e 2 : τ habe , dann kann ich eine Ableitung der Tatsache . In diesem Fall ist dies die Regel für die Eingabe von Funktionsanwendungen.Γ⊢e1:τ→τ′ Γ⊢e2:τ Γ⊢e1 e2:τ′
Es gibt zwei Möglichkeiten, diese Regel zu lesen:
Einige Inferenzregeln manipulieren auch indem sie neue Zutaten hinzufügen (von unten nach oben betrachtet). Hier ist die Regel für -abstraction:λΓ λ
Die Inferenzregeln werden induktiv angewendet, basierend auf der Syntax des Ausdrucks, der als Ableitungsbaum betrachtet wird. An den Blättern des Baumes (oben) werden Axiome und Zweige gebildet, indem Folgerungsregeln angewendet werden. Ganz unten im Baum befindet sich der Ausdruck, den Sie eingeben möchten.
Beide Bücher sind sehr umfangreich, beginnen jedoch langsam und bilden ein solides Fundament.
quelle
Es gibt ein niedliches interaktives Online-Tutorial über Folgerechnung, das helfen kann, einige Intuitionen aufzubauen und zu spüren, wie Folgerungen funktionieren: Ein interaktives Tutorial der Folgerechnung
quelle
Auf dieser Wikipedia-Seite wird " Type Systems, Luca Cardelli, ACM Computing Surveys " empfohlen. Hierbei handelt es sich um eine 2-seitige Umfrage, die Ihnen helfen kann, das Lesen einer Regel zu verstehen. Wie auch immer, wie man eine Regel liest, wird auf dieser Wikipedia-Seite (oder noch besser in der 2-Seiten-Umfrage) perfekt erklärt. Doch das Ganze zu verstehen, müssen Sie verstehen , was ein Typisierungssystem ist (von mehreren Regeln zusammengesetzt), für die der „ Type System “ Wikipedia - Artikel ist ein guter Anfang (und Sie haben mehrere Bücher im Abschnitt „ Referenzen “ davon Seite, wenn Sie weiter gehen möchten).
quelle