Sitaram, Dorai, 1993. Handling control. In SIGPLAN Not., Association for Computing Machinery, New York, NY, USA, vol. 28, pp. 147–155.Abstract: Non-local control transfer and exception handling have a long tradition in higher-order programming languages such as Common Lisp, Scheme and ML. However, each language stops short of providing a full and complementary approach—control handling is provided only if the corresponding control operator is first-order. In this work, we describe handlers in a higher-order control setting. We invoke our earlier theoretical result that all denotational models of control languages invariably include capabilities that handle control. These capabilities, when incorporated into the language, form an elegant and powerful higher-order generalization of the first-order exception-handling mechanism.
See also
Final shift for call/cc
Direct implementation of shift and reset
Call with Current Continuation Patterns
Cogen in six lines
Adding generic functions to Scheme
CHICKEN Scheme
Versions and implementation notes
The SBRAL data structure
Skew Binary Random-Access Lists
Pattern matching
Scheme macrology: a generalized pattern matcher
The (aux hansei) module
The (aux nondeterministic) module
Learning tests for Scheme
The (aux stream) module
The (aux unittest) module
Bootstrapping a unittest framework
Scheme lang: Chez, 48 and Chicken
Some docs, refs and containers, respectively.
Hyperfunctions
Communicating Continuations
The Reasoned Schemer
miniKanren, microKanren and some implementations
BiRank
Towards Ranking on Bipartite Graphs
Axioms for Centrality
Aggregation predicates for µkanren
Groups, window functions, sets and enumerations
miniKanren, live and untagged
Quine generation via relational interpreters
Pure, declarative, and constructive arithmetic relations
A declarative pearl
The igraph software package for complex network research
The Seasoned Schemer
The Little Schemer
Representing monads