IT-lexikon › Programmering › CPS

CPS Continuation-Passing Style

Programmering In English → Uppdaterad: 2026-05-23

Programmeringsstil där funktioner aldrig "returnerar" — istället tar de en "continuation" (callback med "vad ska hända härnäst") och kallar den med resultatet.

Bekant från Node-callbacks: fs.readFile(path, (err, data) => ...) är CPS. Maktfullt internrepresentation i kompilatorer (SMLNJ, MLton, Chez Scheme, GHC efter STG-form). Möjliggör implementation av: exceptions, async/await, generators, coroutines, multi-shot continuations (call/cc i Scheme). Programmerare skriver sällan CPS direkt — det är ett kompilator-mellanlager. CPS-transformation kan ge tail-call-effekt även i språk utan TCO.

← Tillbaka till lexikonet