Reduction Strategies in Lambda Term Normalization and their Effects on Heap Usage
Xiaochu Qi
Abstract
Higher-order representations of objects such as programs, proofs, formulas and types have become important to many symbolic computation tasks. Systems that support such representations usually depend on the implementation of an intensional view of the terms of some variant of the typed lambda-calculus. Various notations have been proposed for lambda-terms to explicitly treat substitutions as basis for realizing such implementations. There are, however, several choices in the actual reduction strategies. The most common strategy utilizes such notations only implicitly via an incremental use of environments. This approach does not allow the smaller substitution steps to be intermingled with other operations of interest on lambda-terms. However, a naive strategy explicitly using such notations can also be costly: each use of the substitution propagation rules causes the creation of a new structure on the heap that is often discarded in the immediately following step. There is thus a tradeoff between these two approaches. This thesis describes the actual realization of the two approaches, discusses their tradeoffs based on this and, finally, offers an amalgamated approach that utilizes recursion in rewrite rule application but also suspends substitution operations where necessary.
Create a lesson
Related papers
Verified Implementation of the Next-gen Borrow Checking Algorithm for Rust via Abstract Interpretation
Jinhua Wu, Yuting Wang, Zhemin Chen
TauLang: A Language and Compiler for Space-Time Programming on Statically Scheduled Accelerators
Xuxiao Yang, Junchi Wu, Feiyang Wu et al.
Demystifying Information Flow Downgrading using the Real--Ideal Paradigm
Suraaj Kanniwadi, Andrew C. Myers
Linking as Evaluation: Correct Separate Compilation via First-Class Environments
Jam Kabeer Ali Khan, Jinhao Tan, Bruno C. d. S. Oliveira
Properly defining Erlang lists
Albert Schimpf, Stefan Wehr, Annette Bieniusa
Proving the Wrong Program: Miscompilations as a Threat to zkVM Guarantees
Hui Xuan Tan, Stefanos Chaliasos, Alastair F. Donaldson