ABSTRACT
In this paper, we study the mechanism for extracting the environment from a function closure in the framework of the lambda calculus. We propose the lambda calculus with environment extraction, which extends environment calculus. We define the untyped calculus: the syntax and the operational semantics. We show that the operational semantics are consistent using translation of the lambda calculus with environment extraction into the lambda calculus with records and pairs. Next, we give a simple type theory to the lambda calculus with environment extraction and prove that the type system holds the subject reduction theorem.
- M. Abadi, L. Cardelli, P-.L. Curien, and J.-J. Lévy. 1991. Explicit Substitutions. Journal of Functional Programming 1, 4 (October 1991), 375–416.Google ScholarCross Ref
- Yuta Aoyagi and Shin-ya Nishizaki. 2018. Untyped Call-by-Value Calculus with First-Class Continuations and Environments. In Theory and Practice of Computation. World Scientific, 101–117. doi:10.1142/9789813279674_0008.Google Scholar
- Oliver Laumann. 1990. Reference Manual for the Elk Extension Language Interpreter.Google Scholar
- Oliver Laumann. 1995. Elk – The Extension Language Kit Scheme Reference.Google Scholar
- Bil Lewis, Dan LaLiberte, and Richard Stallman. 2021. GNU Emacs Lisp Reference Manual For Emacs Version 27.2. https://www.gnu.org/software/emacs/manual/elisp.html.Google Scholar
- Shin-ya Nishizaki. 1995. Simply Typed Lambda Calculus with First-class Environments. Publications of Research Institute for Mathematical Sciences Kyoto University 30, 6 (1995), 1055–1121.Google ScholarCross Ref
- Shin-ya Nishizaki. 2000. A Polymorphic Environment Calculus and its Type Inference Algorithm. Higher-Order and Symbolic Computation 13 (2000), 239–278.Google ScholarDigital Library
- Shin-ya Nishizaki. 2013. Evaluation Strategy and Translation of Environment Calculus. In Information Computing and Applications. Springer Berlin Heidelberg, 232–242.Google Scholar
- Shin-ya Nishizaki. 2019. Simple type system for call-by-value calculus with first-class continuations and ennvironments. In Theory and Practice of Computation. CRC Press, 119–130.Google Scholar
- Shin-ya Nishizaki and Mizuki Fujii. 2012. Strong reduction for typed lambda calculus with first-class environments. In Lecture Notes in Computer Science, Vol. 7473. Springer-Verlag Berlin Heidelberg, 632–639.Google ScholarDigital Library
- Brian Cantwell Smith. 1984. Reflection and semantics in LISP. In POPL’84: Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages. ACM Press, 23–35.Google ScholarDigital Library
Recommendations
Transplanting of Environments between Closures in the lambda calculus
ICSCA '23: Proceedings of the 2023 12th International Conference on Software and Computer ApplicationsIn programming languages, a function closure is a function whose body includes possibly free variables and that is accompanied by association with their values. The association of variables with their values is called an environment. If a programming ...
Untyped lambda calculus with functionally referable environments
ICSCA '21: Proceedings of the 2021 10th International Conference on Software and Computer ApplicationsThe environment is the relationship between variables and their bound values during program execution and is a notion in program semantics. A first-class environment is a mechanism that allows the environment to be treated like data, such as integer ...
Linear lambda calculus with non-linear first-class continuations
ICSCA '17: Proceedings of the 6th International Conference on Software and Computer ApplicationsThe Curry-Howard isomorphism is the correspondence between propositions and types, proofs and lambda-terms, and proof normalization and evaluation. In Curry-Howard isomorphism, we find a duality between values and continuations in pure functional ...
Comments