Als «type-inference» getaggte Fragen

2
Kontextsensitive Grammatiken und Typen
1) In welcher Beziehung stehen statische Typisierung und formale Grammatik? 2) Wäre es insbesondere für einen linear begrenzten Automaten möglich, zu überprüfen, ob beispielsweise ein C ++ - oder SML-Programm gut typisiert war? Ein verschachtelter Stapelautomat? 3) Gibt es eine natürliche Möglichkeit, statische Schreibregeln in formalen Grammatikbegriffen auszudrücken?

1
Was sind die praktischen Probleme mit Schnitt- und Vereinigungstypen?
Ich entwerfe eine einfache statisch typisierte funktionale Programmiersprache als Lernerfahrung. Es scheint, dass das Typsystem, das ich bisher implementiert habe, (mit ein wenig zusätzlicher Arbeit) Schnitt- und Vereinigungstypen enthalten könnte, z. B .: <Union String Integer> <Union Integer Foo> Der Schnittpunkt der beiden oben genannten Typen wäre eine Ebene Integer …

3
Was sollte ein Korrektheitsnachweis für einen Typchecker tatsächlich beweisen?
Ich programmiere seit mehreren Jahren, bin aber mit theoretischer CS sehr unbekannt. Ich habe kürzlich versucht, Programmiersprachen zu studieren und als Teil davon Typprüfung und Inferenz. Meine Frage ist, wenn ich versuche, ein Typinferenz- und Überprüfungsprogramm für eine Programmiersprache zu schreiben, und ich beweisen möchte, dass mein Typechecker funktioniert, was …

2
Höherrangiger Polymorphismus gegenüber Typen ohne Box
Ich habe eine Sprache, in der Typen standardmäßig deaktiviert sind, wobei die Typinferenz auf Hindley-Milner basiert. Ich möchte einen höherrangigen Polymorphismus hinzufügen, hauptsächlich für die Arbeit mit existenziellen Typen. Ich glaube, ich verstehe, wie man diese Typen überprüft , bin mir aber nicht sicher, was ich beim Kompilieren tun soll. …

2
Subtypen als Teilmengen von SML-Datentypen
Eines der wenigen Dinge, die ich an Okasakis Buch über rein funktionale Datenstrukturen nicht mag, ist, dass sein Code mit einem erschöpfenden Mustervergleich übersät ist. Als Beispiel gebe ich seine Implementierung von Echtzeitwarteschlangen an (überarbeitet, um unnötige Suspensionen zu vermeiden): infixr 5 ::: datatype 'a stream = Nil | ::: …

3
Typinferenz für andere zwingende Anweisungen als Zuweisung
Auf meiner Suche nach Forschungsarbeiten über Typensysteme für imperative Sprachen finde ich nur Lösungen für eine Sprache mit veränderlichen Referenzen, aber ohne echte imperative Kontrollstrukturen wie zusammengesetzte Operatoren, Schleifen oder Bedingungen. Es ist also nicht klar, wie eine imperative Sprache mit partieller Typinferenz wie http://rust-lang.org implementiert werden kann. In den …

2
Entscheidbarkeit der Typinferenz und Typprüfung in MLTT
In Martin-Löfs Eine intuitionistische Theorie der Typen: Prädikativer Teil wird bewiesen, dass die Typprüfung unter dem Vorbehalt Typisierbarkeit entscheidend ist , indem ein Normalisierungssatz für geschlossene typisierbare Begriffe bewiesen wird. Andererseits habe ich an mehreren Stellen (Wikipedia, Nördstrom usw.) gesehen, dass das Einchecken von (intensiven) MLTT-Entscheidungen entscheidbar ist. beschränken sie …

1
Ein einfacher Beweis dafür, dass die Entscheidbarkeit der Typisierbarkeit in System F ( ) die Entscheidbarkeit der Typprüfung impliziert?
Angenommen, wir kennen das Ergebnis von Joe B. Wells aus dem Jahr 1994 nicht, dass sowohl die Typisierbarkeit als auch die Typprüfung in System F (AKA ) unentscheidbar sind . In Barendregts Lambda-Kalkülen mit Typen (1992) fand ich aufgrund von Malecki 1989 einen Beweis dafür, dass die Typprüfung Typisierbarkeit impliziert. …

2
Forschung zur Call-Site-basierten Typinferenz?
Ich versuche, mehr über Typprüfungs- und Typinferenzierungssysteme für das gesamte Programm zu erfahren, die Informationen von Funktionsaufrufseiten verwenden, um Typinformationen zu berechnen (zusätzlich zum Standardansatz der Verwendung des Funktionskörpers). Beispielsweise könnte ein solcher Algorithmus einen Funktionsaufruf verwenden, um daraus foo(1)zu schließen, dass die Funktion in fooganzzahlige Argumente akzeptiert. Offensichtlich würde …


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.