{"_id":"2ZYmevid8TyNxqwmQ","bibbaseid":"harrison-sheard-dynamicallyadaptablesoftwarewithmetacomputationsinastagedlanguage-2001","downloads":0,"creationDate":"2016-07-28T19:31:33.214Z","title":"Dynamically Adaptable Software with Metacomputations in a Staged Language","author_short":["Harrison, B.","Sheard, T."],"year":2001,"bibtype":"inproceedings","biburl":"https://harrisonwl.github.io/assets/bibliography/harrison.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["Bill"],"propositions":[],"lastnames":["Harrison"],"suffixes":[]},{"firstnames":["Tim"],"propositions":[],"lastnames":["Sheard"],"suffixes":[]}],"title":"Dynamically Adaptable Software with Metacomputations in a Staged Language","journal":"Lecture Notes in Computer Science","booktitle":"Proceedings of the Second International Workshop on Semantics, Applications, and Implementation of Program Generation (SAIG)","address":"Florence, Italy","volume":"2196","pages":"163–182","publisher":"Springer-Verlag","series":"Lecture Notes in Computer Science","year":"2001","hconf":"yes","url_paper":"https://harrisonwl.github.io/assets/papers/saig01.pdf","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.","bibtex":"@InProceedings{HarrisonSheard2001,\n author = \"Bill Harrison and Tim Sheard\",\n title = \"Dynamically Adaptable Software with Metacomputations in a Staged Language\",\n journal = \"Lecture Notes in Computer Science\",\n booktitle = \"Proceedings of the Second International Workshop on\n Semantics, Applications, and Implementation of Program Generation (SAIG)\",\n address = \"Florence, Italy\", \n volume = \"2196\",\n pages = \"163--182\",\n publisher = \"Springer-Verlag\",\n series = \"Lecture Notes in Computer Science\",\n year = \"2001\",\n hconf = \"yes\",\n url_Paper = \"https://harrisonwl.github.io/assets/papers/saig01.pdf\",\n 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.\",\n}\n\n","author_short":["Harrison, B.","Sheard, T."],"key":"HarrisonSheard2001","id":"HarrisonSheard2001","bibbaseid":"harrison-sheard-dynamicallyadaptablesoftwarewithmetacomputationsinastagedlanguage-2001","role":"author","urls":{" paper":"https://harrisonwl.github.io/assets/papers/saig01.pdf"},"metadata":{"authorlinks":{"harrison, w":"https://harrisonwl.github.io/etc/publications.html"}}},"search_terms":["dynamically","adaptable","software","metacomputations","staged","language","harrison","sheard"],"keywords":[],"authorIDs":["iCiuqX2A39oLpzRv9"],"dataSources":["wAeScLDKnpPTHdYwg","uCveoExKMHQNZnZCp"]}