BRICS Report Series · 2004 · 43 citations · 68 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSyntaxAbstract Syntax TreesFunctional ProgrammingRecursion TheorySyntactic AnalysisSyntax AnalysisType SystemsBig-step SemanticsContinuation-passing StyleHierarchyLambda CalculusLambda Calculus SemanticsOperational SemanticsSmall-step SemanticsStructural Operational Semantics
We present an abstract machine and a reduction semantics for the lambda-calculus extended with control operators that give access to delimited continuations in the CPS hierarchy. The abstract machine is derived from an evaluator in continuation-passing style (CPS); the reduction semantics (i.e., a small-step operational semantics with an explicit representation of evaluation contexts) is constructed from the abstract machine; and the control operators are the shift and reset family. At level n of the CPS hierarchy, programs can use the control operators shift_i and reset_i for 1 <= i <= n, the evaluator has n + 1 layers of continuations, the abstract machine has n + 1 layers of control stacks, and the reduction semantics has n + 1 layers of evaluation contexts.<br /> <br /> We also present new applications of delimited continuations in the CPS hierarchy: finding list prefixes and normalization by evaluation for a hierarchical language of units and products.
68
A Structural Approach to Operational Semantics
Gordon Plotkin · 2004 · 2K citations
Notions of computation and monads
Eugenio Moggi · Information and Computation · 1991 · 1.7K citations
Call-by-name, call-by-value and the λ-calculus
Gordon Plotkin · Theoretical Computer Science · 1975 · 1.2K citations
The Mechanical Evaluation of Expressions
P. J. Landin · The Computer Journal · 1964 · 932 citations · Full text