Access Restriction

Author Asai, Kenichi ♦ Masuhara, Hidehiko ♦ Yonezawa, Akinori
Source ACM Digital Library
Content type Text
Publisher Association for Computing Machinery (ACM)
File Format PDF
Language English
Subject Domain (in DDC) Computer science, information & general works ♦ Computer programming, programs & data
Abstract We present a framework of an online partial evaluator for a call-by-value λ-calculus with destructive updates of data structures. It properly and correctly specializes expressions that contain side-effects, 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 such a way that accesses to immutable ones are performed at specialization time, while accesses to 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 enables us to reduce expressions that were residualized when the conventional let-expression approach of Similix was used. The resulting partial evaluator is simple enough to prove its correctness. Based on the framework, we have constructed a partial evaluator for Scheme, which is powerful enough to specialize fairly complicated programs with side-effects, such as an interpreter.
Description Affiliation: Department of Graphics and Computer Science, College of Arts and Sciences, University of Tokyo (Masuhara, Hidehiko) || Department of Information Science, Faculty of Science, University of Tokyo, 7-3-1 Hongo Bunkyo-ku 113 Japan (Asai, Kenichi; Yonezawa, Akinori)
Age Range 18 to 22 years ♦ above 22 year
Educational Use Research
Education Level UG and PG
Learning Resource Type Article
Publisher Date 1983-05-01
Publisher Place New York
Journal ACM SIGPLAN Notices (SIGP)
Volume Number 32
Issue Number 12
Page Count 10
Starting Page 12
Ending Page 21

Open content in new tab

   Open content in new tab
Source: ACM Digital Library