@inproceedings{82217f8da8bd43d6bfb70afdcc253d04,
title = "Dynamically Adaptable Software with Metacomputations in a Staged Language",
abstract = "Profile-driven compiler optimizations take advantage of information gathered at runtime to re-compile programs into more efficient code. Such optimizations appear to be more easily incorporated within a semantics-directed compiler structure than within traditional compiler structure. We present a case study in which a metacomputation-based reference compiler for a small imperative language converts easily into a compiler which performs a particular profile-driven optimization: local register allocation. Our reference compiler is implemented in the staged, functional language MetaML and takes full advantage of the synergy between metacomputation-style language definitions and the staging constructs of MetaML. We believe that the approach to implementing profile-driven optimizations presented here suggests a useful, formal model for dynamically adaptable software.",
author = "Bill Harrison and Tim Sheard",
year = "2001",
doi = "10.1007/3-540-44806-3\_10",
language = "English",
volume = "2196",
series = "Lecture Notes in Computer Science",
publisher = "Springer Verlag",
pages = "163--182",
booktitle = "Proceedings of the Second International Workshop on Semantics, Applications, and Implementation of Program Generation (SAIG)",
}