A scheme for a higher-level semantic algebra
Algebraic methods in semantics
TIM: A simple, lazy abstract machine to execute supercombinators
Proc. of a conference on Functional programming languages and computer architecture
Abstract continuations: a mathematical semantics for handling full jumps
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Intensions and extensions in a reflective tower
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
The theory and practice of first-class prompts
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Control delimiters and their hierarchies
Lisp and Symbolic Computation
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
An abstract machine for Lambda-terms normalization
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Representing control in the presence of first-class continuations
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A formulae-as-type notion of control
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An abstract frame work for environment machines
Theoretical Computer Science
The essence of functional programming
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
From λσ to λν: a journey through calculi of explicit substitutions
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The discoveries of continuations
Lisp and Symbolic Computation - Special issue on continuations—part I
A call-by-need lambda calculus
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A generalization of exceptions and control in ML-like languages
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Confluence properties of weak and strong calculi of explicit substitutions
Journal of the ACM (JACM)
Proper tail recursion and space efficiency
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Categorical Combinators, Sequential Algorithms and Funtional Programming
Categorical Combinators, Sequential Algorithms and Funtional Programming
Artificial Intelligence Programming
Artificial Intelligence Programming
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
An Introduction to Landin‘s “A Generalization of Jumps and Labels”
Higher-Order and Symbolic Computation
A Generalization of Jumps and Labels
Higher-Order and Symbolic Computation
A Syntactic Theory of Dynamic Binding
Higher-Order and Symbolic Computation
Definitional Interpreters Revisited
Higher-Order and Symbolic Computation
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
The First Report on Scheme Revisited
Higher-Order and Symbolic Computation
Scheme: A Interpreter for Extended Lambda Calculus
Higher-Order and Symbolic Computation
Implementation Strategies for First-Class Continuations
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
A Foreword to ‘Fundamental Concepts in ProgrammingLanguages’
Higher-Order and Symbolic Computation
Fundamental Concepts in Programming Languages
Higher-Order and Symbolic Computation
Higher-Order and Symbolic Computation
Continuations: A Mathematical Semantics for Handling FullJumps
Higher-Order and Symbolic Computation
Stack inspection: Theory and variants
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lambda-My-Calculus: An Algorithmic Interpretation of Classical Natural Deduction
LPAR '92 Proceedings of the International Conference on Logic Programming and Automated Reasoning
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
A functional correspondence between evaluators and abstract machines
Proceedings of the 5th ACM SIGPLAN international conference on Principles and practice of declaritive programming
Rabbit: A Compiler for Scheme
The calculi of lambda-nu-cs conversion: a syntactic theory of control and state in imperative higher-order programming languages
An environment machine for the λμ-calculus
Mathematical Structures in Computer Science
Functional runtime systems within the lambda-sigma calculus
Journal of Functional Programming
Deriving a lazy abstract machine
Journal of Functional Programming
A functional correspondence between call-by-need evaluators and lazy abstract machines
Information Processing Letters
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Proceedings of the ninth ACM SIGPLAN international conference on Functional programming
A tail-recursive machine with stack inspection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A systematic approach to static access control
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies)
THEORETICAL PEARL: A simple proof of a folklore theorem about delimited control
Journal of Functional Programming
On the static and dynamic extents of delimited continuations
Science of Computer Programming
Theoretical Computer Science - Applied semantics: Selected topics
A concrete framework for environment machines
ACM Transactions on Computational Logic (TOCL)
A call-by-name lambda-calculus machine
Higher-Order and Symbolic Computation
Strongly reducing variants of the Krivine abstract machine
Higher-Order and Symbolic Computation
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Correct and optimal implementations of recursion in a simple programming language
Journal of Computer and System Sciences
A rational deconstruction of landin's SECD machine
IFL'04 Proceedings of the 16th international conference on Implementation and Application of Functional Languages
A rational deconstruction of landin's j operator
IFL'05 Proceedings of the 17th international conference on Implementation and Application of Functional Languages
A concrete framework for environment machines
ACM Transactions on Computational Logic (TOCL)
A call-by-name lambda-calculus machine
Higher-Order and Symbolic Computation
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Information Processing Letters
Defunctionalized interpreters for programming languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Inter-deriving Semantic Artifacts for Object-Oriented Programming
WoLLIC '08 Proceedings of the 15th international workshop on Logic, Language, Information and Computation
Science of Computer Programming
A Context-based Approach to Proving Termination of Evaluation
Electronic Notes in Theoretical Computer Science (ENTCS)
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Inter-deriving semantic artifacts for object-oriented programming
Journal of Computer and System Sciences
Semantics and algebraic specification
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Typing control operators in the CPS hierarchy
Proceedings of the 13th international ACM SIGPLAN symposium on Principles and practices of declarative programming
Subtyping delimited continuations
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Defunctionalized interpreters for call-by-need evaluation
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Theoretical Computer Science
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
A synthetic operational account of call-by-need evaluation
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
A logical correspondence between natural semantics and abstract machines
Proceedings of the 15th Symposium on Principles and Practice of Declarative Programming
Hi-index | 5.23 |
We present a systematic construction of environment-based abstract machines from context-sensitive calculi of explicit substitutions, and we illustrate it with ten calculi and machines for applicative order with an abort operation, normal order with generalized reduction and call/cc, the lambda-mu-calculus, delimited continuations, stack inspection, proper tail-recursion, and lazy evaluation. Most of the machines already exist but they have been obtained independently and are only indirectly related to the corresponding calculi. All of the calculi are new and they make it possible directly to reason about the execution of the corresponding machines.