Information and Control
A syntactic theory of sequential control
Theoretical Computer Science
Environments as first class objects
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Pebble, a kernel language for modules and abstract data types
Information and Computation - Semantics of Data Types
Proofs and types
Confluence results for the pure strong categorical logic CCL. &lgr;-calculi as subsystems of CCL
Theoretical Computer Science
Type checking records and variants in a natural extension of ML
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Algebraic reconstruction of types and effects
POPL '91 Proceedings of the 18th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type inference for polymorphic references
Information and Computation
Free variables and first-class environments
Lisp and Symbolic Computation
An abstract frame work for environment machines
Theoretical Computer Science
Type inference for record concatenation and multiple inheritance
Information and Computation
A compilation method for ML-style polymorphic record calculi
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Handbook of logic in computer science (vol. 2)
Type inference with extended pattern matching and subtypes
Fundamenta Informaticae - Special issue: lambda calculus and type theory
Metalevel building blocks for modular systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Confluence properties of weak and strong calculi of explicit substitutions
Journal of the ACM (JACM)
Sharing code through first-class environments
Proceedings of the first ACM SIGPLAN international conference on Functional programming
An operational semantics of sharing in lazy evaluation
Science of Computer Programming
Reasoning about functions with effects
Higher order operational techniques in semantics
Revised report on the algorithmic language scheme
ACM SIGPLAN Lisp Pointers
Revised Report on the Algorithmic Language Scheme
Higher-Order and Symbolic Computation
Higher-order Unification via Explicit Substitutions
LICS '95 Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science
Functional Programming With Higher-order Abstract Syntax and Explicit Substitutions
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Strong reduction for typed lambda calculus with first-class environments
ICICA'12 Proceedings of the Third international conference on Information Computing and Applications
First-class substitutions in contextual type theory
Proceedings of the Eighth ACM SIGPLAN international workshop on Logical frameworks & meta-languages: theory & practice
Hi-index | 0.00 |
The polymorphic environment calculus is a polymorphic lambda calculus which enables us to treat environments as first-class citizens. In the calculus, environments are formalized as explicit substitutions, and the substitutions are included in the set of terms of the calculus. First, we introduce an untyped environment calculus, and we present a semantics of the calculus as a translation into the lambda calculus. Second, we propose a polymorphic type system for the environment calculus based on Damas-Milner's ML-polymorphic type system. In ML, polymorphism is allowed only in let-expressions; in the polymorphic environment calculus, polymorphism is provided with environment compositions. We prove a subject-reduction theorem for the type system. Third, a type-inference algorithm is given to the polymorphic environment calculus, and we establish its soundness, termination, and principal-typing theorem.