¶Papers
¶Concatenative languages
[Pestov2010] Factor: A dynamic stack-based programming language
[Mihelic2021] A denotational semantics of a concatenative/compositional programming language
[Kleffner2017] A foundation for typed concatenative languages
[Diggins2008a] Simple type inference for higher-order stack-oriented languages
¶Linear continuations
¶“Linear Continuation-Passing”
J Berdine, P O'Hearn, U Reddy, et al. “Linear Continuation-Passing.” Higher-Order and Symbolic Computation 15, 181–208 (2002).
Abstract: Continuations can be used to explain a wide variety of control behaviours, including calling/returning (procedures), raising/handling (exceptions), labelled jumping (goto statements), process switching (coroutines), and backtracking. However, continuations are often manipulated in a highly stylised way, and we show that all of these, bar backtracking, in fact use their continuations linearly; this is formalised by taking a target language for cps transforms that has both intuitionistic and linear function types.
“Linear Continuation-Passing” [remarkable]