Was sind einige der Hauptprobleme in Bezug auf die Komplexität offener Berechnungen, die sich aus Programmiersprachen ergeben, insbesondere Programmanalyse und -kompilierung? Ich suche nach Problemen im Sinne der "Zeitkomplexität der Hindley-Milner-Typinferenz" oder der "Zeitkomplexität von 0CFA" (obwohl beide Probleme gelöst sind).
17
Antworten:
Pippengers (1) von 1996 zeigt, dass (unter bestimmten Voraussetzungen) strenge (CBV) funktionale Programmiersprachen asympotisch langsamer sind als imperative Sprachen. Es ist offen, ob Pippengers Ergebnis auf faule Funktionssprachen verallgemeinert werden kann , wie in (2) ausgeführt.
Pippenger legt zwei vereinfachende Annahmen fest (Online-Berechnung und eine bestimmte Atomizität der Eingabe). Es ist offen, ob sie entfernt werden können. Pippenger Mutmaßungen , dass es getan werden kann, warnt aber: „[s] uch ein Ergebnis [...] scheint weit außerhalb der Reichweite der derzeit verfügbaren Methoden in Komplexitätstheorie“ .
Siehe auch Campbells Antwort in (3) und Ben-Amrams Notizen (4).
1. N. Pippenger, Pure Versus Impure Lisp .
2. R. Bird, G. Jones, O. De Moor, Mehr Eile, weniger Geschwindigkeit: Faul gegen eifrige Bewertung .
3. Stapelüberlauf, Effizienz der rein funktionalen Programmierung .
4. AM Ben-Amram, Anmerkungen zu Pippengers Vergleich von reinem und unreinem LISP .
quelle