Franklyn Turbak, Allyn Dimock, Robert Muller, and J. B.
Wells
Compiling with polymorphic and polyvariant flow
types
In Proc. First Int'l Workshop on Types in Compilation, June
1997
Optimizing compilers for function-oriented and
object-oriented languages exploit type and flow
information for efficient implementation. Although
type and flow information (both control and data
flow) are inseparably intertwined, compilers usually
compute and represent them separately. Partially,
this has been a result of the usual polymorphic type
systems using for all and there exists quantifiers,
which are difficult to use in combination with flow
annotations. In the Church Project, we are
experimenting with intermediate languages that
integrate type and flow information into a single
flow type framework. This integration
facilitates the preservation of flow and type
information through program transformations. In this
paper we describe lambdaCIL, an
intermediate language supporting polymorphic types
and polyvariant flow information and describe its
application in program optimiziation. We are
experimenting with this intermediate language in a
flow and type-directed compiler for a functional
language. The types of lambdaCIL
encode flow information (1) via labels that
approximate sources and sinks of values and (2) via
intersection and union types, finitary versions of
universal and existential types that support type
polymorphism and (in combination with the labels)
polyvariant flow analysis. Accurate flow types
expose opportunities for a wide range of optimizing
program transformations.
[ bib |
.ps.gz |
.pdf.gz |
.html ]
Back
This file has been generated by
bibtex2html 1.61
Copyright notice: The documents contained
in these pages are included by the contributing authors as a means to
ensure timely dissemination of scholarly and technical work on a
non-commercial basis. Copyright and all rights therein are maintained
by the authors or by other copyright holders, notwithstanding that
they have offered their works here electronically. It is understood that all persons copying this information will
adhere to the terms and constraints invoked by each author's
copyright. These works
may not be reposted without the explicit permission of the copyright
holder.
If you experience problems downloading any of the files above,
it is most likely because your browser does not handle compressed
files correctly.
In particular, Netscape might save the file in the compressed
gz-format with extension .ps or
.pdf (indicating postscript or PDF, resp.). You can work around this by saving the file,
renaming it to .ps.gz or .pdf.gz, and then
uncrompress it.