In previous papers we have looked at self-interpretation and offline partial evaluation of the pure lambda calculus, exploiting a compact meta-representation of A-terms. Here we consider the problem of doing online partial evaluation, that is partial evaluation without a prior binding time analysis of the program to be specialized. While online partial evaluators can give better speedups than online partial evaluators, it has been argued that self-application of online partial evaluators is infeasible. This is supposedly due to them not being able to decide what action to take at self-application time. We show that by using a partial evaluator based on the self-reducer of an earlier paper, we reduce the decision problem to tuple selection. The main problem with selfapplication is now termination. We solve this by re-phrasing the partial evaluator to get rid of fixed-point operators. We show examples of partial evaluation and self-application and evaluate the results.
CITATION STYLE
Mogensen, T. E. (1995). Self-Applicable online partial evaluation of the pure lambda calculus. In Proceedings of the ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (Vol. Part F129370, pp. 39–44). Association for Computing Machinery. https://doi.org/10.1145/215465.215469
Mendeley helps you to discover research relevant for your work.