The categorical abstract machine
Proc. of a conference on Functional programming languages and computer architecture
TIM: A simple, lazy abstract machine to execute supercombinators
Proc. of a conference on Functional programming languages and computer architecture
An abstract machine for Lambda-terms normalization
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
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
Compiling with continuations
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
A call-by-need lambda calculus
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Confluence properties of weak and strong calculi of explicit substitutions
Journal of the ACM (JACM)
Towards a Taxonomy of Functional Languages Implementations
PLILPS '95 Proceedings of the 7th International Symposium on Programming Languages: Implementations, Logics and Programs
A Lambda-Calculus Structure Isomorphic to Gentzen-Style Sequent Calculus Structure
CSL '94 Selected Papers from the 8th International Workshop on Computer Science Logic
Higher-order Unification via Explicit Substitutions
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
Compiling a functional language
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
A systematic study of functional language implementations
ACM Transactions on Programming Languages and Systems (TOPLAS)
Equational rules for rewriting logic
Theoretical Computer Science - Rewriting logic and its applications
Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus
LICS '96 Proceedings of the 11th Annual IEEE Symposium on Logic in Computer Science
Cut rules and explicit substitutions
Mathematical Structures in Computer Science
Normalisation for higher-order calculi with explicit substitutions
Theoretical Computer Science - Foundations of software science and computation structures
Resource operators for λ-calculus
Information and Computation
Higher-Order and Symbolic Computation
Explaining the lazy Krivine machine using explicit substitution and addresses
Higher-Order and Symbolic Computation
An approach to call-by-name delimited continuations
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Sequent calculi and abstract machines
ACM Transactions on Programming Languages and Systems (TOPLAS)
A normalisation result for higher-order calculi with explicit substitutions
FOSSACS'03/ETAPS'03 Proceedings of the 6th International conference on Foundations of Software Science and Computation Structures and joint European conference on Theory and practice of software
A finite first-order theory of classes
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
Extending the explicit substitution paradigm
RTA'05 Proceedings of the 16th international conference on Term Rewriting and Applications
Expression reduction systems and extensions: an overview
Processes, Terms and Cycles
Axiomatic rewriting theory i: a diagrammatic standardization theorem
Processes, Terms and Cycles
The theory of calculi with explicit substitutions revisited
CSL'07/EACSL'07 Proceedings of the 21st international conference, and Proceedings of the 16th annuall conference on Computer Science Logic
Hi-index | 0.00 |
We define a weak λ-calculus, λσw, as a subsystem of the full λ-calculus with explicit substitutions λσ⇑. We claim that λσw could be the archetypal output language of functional compilers, just as the λ-calculus is their universal input language. Furthermore, λσ⇑ could be the adequate theory to establish the correctness of simplified functional compilers. Here, we illustrate these claims by proving the correctness of two simplified compilers and runtime systems modeled as abstract machines. We first present the Krivine machine. Then, we give the first formal proofs of Cardelli's FAM and of its compiler.