Results 1 -
1 of
1
Partial Evaluation of Call-by-value lambda-calculus with Side-effects
- ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM '97
"... We present a framework of an online partial evaluator for a callby -value -calculus with destructive updates of data structures. It properly and correctly specializes expressions that contain sideeffects, while preserving pointer equality, which is an important property for programs using updates. O ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
We present a framework of an online partial evaluator for a callby -value -calculus with destructive updates of data structures. It properly and correctly specializes expressions that contain sideeffects, while preserving pointer equality, which is an important property for programs using updates. Our partial evaluator uses a side-effect analysis to extract immutable data structures and then performs an online specialization using preactions. Once mutable and immutable data structures are separated, partial evaluation is done in sucha way that accessesto immutable ones are performed at specialization time, while accessesto mutable ones are residualized. For the correct residualization of side-effecting operations, preactions are used to solve various issues, including code elimination, code duplication, and execution order preservation. The preaction mechanism also enablesus to reduceexpressionsthat were residualized when the conventional let-expression approach of Similix was used. Th...