Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
@inproceedings{ITPT,
author = "Chiyan Chen and Hongwei Xi",
title = {{Implementing Typeful Program Transformations}},
booktitle = "Proceedings of ACM SIGPLAN Workshop on Partial Evaluation and Semantics Based Program Manipulation",
year = "2003",
month = "June",
address = "San Diego, CA",
pages = "20--28",
abstract = {{
The notion of program transformation is ubiquitous in programming language
studies on interpreters, compilers, partial evaluators, etc. In order to
implement a program transformation, we need to choose a representation in
the meta language, that is, the programming language in which we construct
programs, for representing object programs, that is, the programs in the
object language on which the program transformation is to be performed. In
practice, most representations chosen for typed object programs are
typeless in the sense that the type of an object program cannot be
reflected in the type of its representation. This is unsatisfactory as such
typeless representations make it impossible to capture in the type system
of the meta language various invariants in a program transformation that
are related to the types of object programs. In this paper, we propose an
approach to implementing program transformations that makes use of a
first-order typeful program representation formed in Dependent ML (DML),
where the type of an object program as well as the types of the free
variables in the object program can be reflected in the type of the
representation of the object program. We introduce some programming
techniques needed to handle this typeful program representation, and then
present an implementation of a CPS transform function where the relation
between the type of an object program and that of its CPS transform is
captured in the type system of DML. In a broader context, we claim to have
taken a solid step along the line of research on constructing certifying
compilers.
}}
}