Standard-ML hat keine polymorphe Rekursion. Das Hinzufügen einer Rekursion zu der Modulsprache ermöglicht es uns, polymorphe Rekursion als Spezialfall wiederherzustellen, wobei Fixpunkte von endofunctors verwendet werden. Zum Beispiel:Typ-Inferenz für polymorphe Rekursion kodiert als Modul Rekursion
Es ist bekannt, dass polymorphe Rekursion Typinferenz unentscheidbar macht. Eine Funktordefinition enthält jedoch bereits partielle Typinformationen, nämlich die Signatur ihres Arguments. Reicht diese Information aus, um die Typrückschlüsse wieder entscheidbar zu machen?
Welche Implementierung unterstützt 'Struktur rec'? –
@ IonuţG.Stan: AFAICT, keine, obwohl ich SML/NJ nicht versucht habe. – pyon
Ah, es ist eher eine theoretische Frage. SML/NJ unterstützt dies nicht. –