Continuation
Die Continuation ist ein abstraktes Konzept höherer, insbesondere funktionaler Programmiersprachen. Er bezeichnet den Kontrollzustand eines Programms zu einem bestimmten Zeitpunkt zu dessen Laufzeit. Der Begriff Continuation entspricht daher näherungsweise dem Konzept des Prozesskontexts, allerdings schließt der Prozesskontext den aktuellen Zustand der Programmdaten, also z. B. die Werte lokaler und globaler Variablen mit ein.
Zugriff auf Continuations ermöglicht es, den Kontrollfluss eines Programmes beliebig zu beeinflussen. So wird es möglich, ein Programm zu einem beliebigen Zeitpunkt anzuhalten und später fortzusetzen, oder das Programm an einer bestimmten Stelle in einen früheren Zustand zurückzuversetzen. Diese Eigenschaft kommt auch im Namen Continuation, zu deutsch Fortsetzung zum Ausdruck. Unter Verwendung von Continuations ist jede Art von Schleife simulierbar. Der uneingeschränkte Zugriff auf die Continuation sowie eine Form einer bedingten Anweisung reichen bereits aus, um beliebige berechenbare Probleme zu lösen. Diese Fähigkeit ermöglicht einen eigenen Programmierstil, den sog. continuation-passing style.
Verschiedene Programmiersprachen unterstützen den Umgang mit Continuations, die bekanntesten Vertreter dabei sind verschiedene Lispdialekte wie Scheme. Moderne objektorientierte Sprachen bieten mit Konzepten wie Ausnahmebehandlung eingeschränkte Möglichkeiten, auf die Continuation eines Programms zuzugreifen.