8

Im Zusammenhang mit Schema und CPS Umwandlung, ich bin die Entscheidung einen schweren Fehler, was administratives redexes (Lambdas) genau ist:Was genau sind Verwaltungsredex nach CPS-Konvertierung?

  • all der Lambda-Ausdrücke, die
  • durch die CPS Umwandlung eingeführt werden
  • nur der Lambda-Ausdrücke, die von der CPS-Konvertierung eingeführt werden, aber Sie würden nicht geschrieben, wenn Sie die Konvertierung „von Hand“ oder durch einen intelligentere CPS-Wandler
tun

Wenn möglich, wäre eine gute Referenz willkommen.

Antwort

4

Redex steht für "reduzierbare Ausdruck", das ist ein Ausdruck, der kein Wert ist. Daher ist ein Lambda kein Redex, sondern ein Aufruf.
In CPS ist ein administrativer Redex ein Redex, dessen Operator eine Fortsetzung Lambda ist. Solche Redexes können sofort reduziert werden, weil Sie wissen, welche Funktion Sie anrufen.
Zum Beispiel ist ((lambda (u) ...) foo) ein administrativer Redex, aber (k foo) ist nicht.

4

Ich glaube, ich habe meine Antwort gefunden. (Edit:. ich dimvar Antwort stattdessen angenommen haben, es ist kürzer und korrekt)

das Eingabeprogramm Unter der Annahme nicht vollständig CPS, mindestens ein Verfahren Umkehrpunkt muss in eine Fortsetzung des CPS umgewandelt werden Umwandlung. Diese Fortsetzung wird also durch die Umrechnung und notwendig. Weil es notwendig ist, müssten Sie dies immer tun, auch beim manuellen Konvertieren. Daher sind administrative Redexes nur die durch die CPS-Konvertierung eingeführten Lambdas, die nicht wirklich notwendig sind (meine zweite Definition).

fand ich eine paper dass es wie folgt (Hervorhebung von mir) erklärt:

Die naive λ-Codierung in CPS, erzeugt jedoch eine ziemlich eindrucksvoll in fl ation von Lambdas, meisten davon form administrative redexes, die sicher reduziert werden können. Administrative Reduzierungen ergeben CPS-Begriffe entsprechend, was man von Hand schreiben könnte. Es wurde daher eine Herausforderung, so viele administrative Redexes wie möglich zu eliminieren, unter CPS-Transformation Zeit.

Dennoch sind alle Bemerkungen oder Anregungen natürlich willkommen.

+0

Defekte Verbindung zum Papier. –

+0

@Darius: Das Papier ist "CPS Transformation von Beta Redexes" (Ich lese es gerade). Hier ist ein Link: http://www.brics.dk/RS/04/39/BRICS-RS-04-39.pdf –