Detta dokument beskriver omvandlingen av -termer från fortsättning-passerande stil (CPS) till direkt stil. Denna omvandling är vänster invers av Plotkins vänster-till höger call-by- value CPS kodning för den rena -calculus. Inte alla - termer är CPS termer, och inte alla CPS termer koda en vänster-till-höger callby-värde utvärdering. Dessa CPS termer kännetecknas här; de kan kartläggas tillbaka till direkt stil. Dessutom, de två omvandlingarna till fortsättning stil och till direkt stil är faktoriserade med hjälp av ett språk där alla mellanliggande värden namnges och deras beräkning är sekventiell. Frågan om en riktig "tail-recursion" tas också upp. Mycket arbete har ägnats åt att omvandla program till fortsättningspasserande stil (CPS). (För en nyligen genomförd undersökning, se Talcotts specialnummer om fortsättning 25).) I ett CPS-program tar alla procedurer en extra parameter, en fortsättning, som är en funktionell ackumulator som representerar resten av beräkningen." Som en följd av detta är alla samtal eftersläpande. Däremot, program som inte är i CPS (t.ex., program före CPS transformation) sägs vara i \direkt stil" (DS). Deras procedursamtal kan ske var som helst (dvs. inte nödvändigtvis i svanläge). I motsats till det arbete som nämns ovan studerar man i detta dokument omvandlingen av CPS-program till DS. För korthet, endast den rena (kalla-för-värde, med vänster-till-höger utvärdering) -calculus beaktas. En grundligare undersökning (dvs. att ta itu med villkorliga uttryck, primitiva operationer, blockstruktur och rekursiva definitioner) finns i en teknisk rapport 7].
Danvy REF presenterar en översättning från CPS-program till direktprogram (DS) i en otypad inställning.
Back to Direct Style
{'venue': 'Sci. Comput. Program.', 'journal': None, 'mag_field_of_study': ['Computer Science']}