Frage

Ich war das Lesen ein research paper über Haskell und wie HList umgesetzt wird und sich Wundern, wenn die Techniken, die beschrieben werden und sind nicht entscheidbar, für den type-checker.Auch, weil Sie ähnliche Dinge tun mit GADTs, ich Frage mich, ob GADT Typ-überprüfung wird immer entscheidbar.

Ich würde lieber Zitate, wenn Sie Sie haben, so kann ich Lesen/verstehen der Erklärungen.

Vielen Dank!

War es hilfreich?

Lösung

Ich glaube GADT Typ-überprüfung wird immer entscheidbar;es ist Inferenz, die unentscheidbaren, da eine höhere Ordnung, die Wiedervereinigung.Aber ein GADT geben checker, eine eingeschränkte form des proof-checker sehen Sie in zB.Coq, wo die Konstrukteure den Aufbau der Beweis Begriff.Zum Beispiel das klassische Beispiel für die Einbettung von lambda-Kalkül, in GADTs hat einen Konstruktor für jede Reduktion Regel, so , wenn Sie wollen zu finden die normale form ein Begriff sein, man muss es sagen, die Konstruktoren erhalten Sie es.Das Halteproblem wurde, zog in die Hände des Anwenders :-)

Andere Tipps

Sie haben wahrscheinlich schon gesehen, aber gibt es eine Sammlung von Beiträgen zu diesem Thema bei Microsoft research: Typ-Prüfung Papiere.Der erste beschreibt die entscheidbar-Algorithmus tatsächlich in der Glasgow Haskell compiler.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top