The current call/cc is an upward, escape-only, non-reentrant one-shot continuation implemented through explicit evaluator signals.
At a glance
LISPEX
(call/cc (lambda (escape) (escape 'done) 'unreachable))Result
OUTPUT
doneCurrent guarantees
- The first invocation atomically consumes the continuation before transfer; every later invocation is E340.
dynamic-windrunsbefore, thenthunk, thenafter; unwind runs pendingafterthunks innermost first.- A new error or escape from an
afterthunk replaces the signal already in flight.
Boundaries
- Multi-shot continuation reuse and dynamic-context re-entry are deferred.
- Host exceptions and host continuations do not implement guest transfer.