Was genau sind administrative Redexe uber nach CPS Umwandlung?
-
22-09-2019 - |
Frage
Im Rahmen von Schema und CPS Umwandlung, ich habe ein wenig Schwierigkeiten zu entscheiden, was administrativ Redexe uber (Lambda) genau ist:
- alle der Lambda-Ausdrücke, die von der CPS-Umwandlung eingeführt werden
- nur die Lambda-Ausdrücke, die von der CPS-Konvertierung eingeführt werden, aber sie hätte nicht geschrieben, wenn Sie die Konvertierung tat „von Hand“ oder durch eine intelligentere CPS-Konverter
Wenn möglich, eine gute Referenz zu begrüßen wäre.
Lösung
Redex steht für „reduzierbar Ausdruck“, was ein Ausdruck ist, der kein Wert ist. Daher ist eine Lambda kein redex, aber ein Anruf.
In CPS, eine Verwaltungs redex ist ein redex dessen Operator ist ein Fortsetzungs-Lambda. Solche Redexe uber kann sofort reduziert werden, da Sie wissen, welche Funktion Sie anrufen.
Zum Beispiel ((lambda (u) ...) foo)
ist eine administrative redex, aber (k foo)
nicht.
Andere Tipps
Ich glaube, ich meine Antwort gefunden. ( Edit:. Ich habe dimvar die akzeptierte Antwort statt, es ist kürzer und richtig)
das Eingabeprogramm Unter der Annahme, nicht vollständig CPS, mindestens eine Prozedur Rückkehrpunkt wird in eine Fortsetzung von der CPS Umwandlung umgewandelt werden. Also diese Fortsetzung sowohl durch die Umwandlung und notwendig eingeführt. Weil es notwendig ist, würden Sie immer brauchen, dies zu tun, auch wenn sie von Hand beispielsweise Umwandlung. Daher sind Verwaltungs Redexe uber nur die Lambda-Ausdrücke durch die CPS Umwandlung eingeführt, die nicht wirklich notwendig sind (meine zweite Definition).
fand ich ein Papier , die es erklärt wie folgt (Hervorhebung von mir):
Die naive λ-Codierung in CPS, jedoch erzeugt ein sehr beeindruckend Inflation von Lambdas, die meisten , von denen bilden administrative Redexe uber das kann werden sicher reduziert. administrativ Verringerungen ergeben CPS Begriffe dem entspricht, was man schreiben konnte von Hand. Es wird daher ein worden Herausforderung, so viele zu beseitigen Verwaltungs Redexe uber wie möglich an CPS-Umwandlungszeit.
Noch irgendwelche Anmerkungen oder Vorschläge willkommen natürlich.