{"_id":"dKvXcxzXQkAAwEy4g","bibbaseid":"harrison-kamin-metacomputationbasedcompilerarchitecture-2000","downloads":1,"creationDate":"2016-07-28T19:31:33.218Z","title":"Metacomputation-based Compiler Architecture","author_short":["Harrison, W.","Kamin, S."],"year":2000,"bibtype":"inproceedings","biburl":"https://harrisonwl.github.io/assets/bibliography/harrison.bib","bibdata":{"bibtype":"inproceedings","type":"inproceedings","author":[{"firstnames":["William"],"propositions":[],"lastnames":["Harrison"],"suffixes":[]},{"firstnames":["Samuel"],"propositions":[],"lastnames":["Kamin"],"suffixes":[]}],"title":"Metacomputation-based Compiler Architecture","booktitle":"5th International Conference on the Mathematics of Program Construction, Ponte de Lima, Portugal","year":"2000","publisher":"Springer-Verlag","volume":"1837","pages":"213–229","series":"Lecture Notes in Computer Science","hconf":"yes","url_paper":"https://harrisonwl.github.io/assets/papers/mpc00.pdf","abstract":"This paper presents a modular and extensible style of language specification based on metacomputations. This style uses two monads to factor the static and dynamic parts of the specification, thereby staging the specification and achieving strong binding-time separation. Because metacomputations are defined in terms of monads, they can be constructed modularly and extensibly using monad transformers. Consequently, metacomputation-style specifications are modular and extensible. A number of language constructs are specified: expressions, control-flow, imperative features, block structure, and higher-order functions and recursive bindings. Because of the strong binding-time separation, metacomputation-style specification lends itself to semantics-directed compilation, which we demonstrate by creating a modular compiler for a block-structured imperative, while language.","bibtex":"@InProceedings{HarrisonKamin2000,\n author = \"William Harrison and Samuel Kamin\",\n title = \"Metacomputation-based Compiler Architecture\",\n booktitle = \"5th International Conference on the Mathematics of\n Program Construction,\n Ponte de Lima, Portugal\",\n year = \"2000\",\n publisher = \"Springer-Verlag\",\n volume = \"1837\",\n pages = \"213--229\",\n series = \"Lecture Notes in Computer Science\",\n hconf = \"yes\",\n url_Paper = \"https://harrisonwl.github.io/assets/papers/mpc00.pdf\",\n abstract = \"This paper presents a modular and extensible style of language specification based on metacomputations. This style uses two monads to factor the static and dynamic parts of the specification, thereby staging the specification and achieving strong binding-time separation. Because metacomputations are defined in terms of monads, they can be constructed modularly and extensibly using monad transformers. Consequently, metacomputation-style specifications are modular and extensible. A number of language constructs are specified: expressions, control-flow, imperative features, block structure, and higher-order functions and recursive bindings. Because of the strong binding-time separation, metacomputation-style specification lends itself to semantics-directed compilation, which we demonstrate by creating a modular compiler for a block-structured imperative, while language.\",\n}\n\n\n","author_short":["Harrison, W.","Kamin, S."],"key":"HarrisonKamin2000","id":"HarrisonKamin2000","bibbaseid":"harrison-kamin-metacomputationbasedcompilerarchitecture-2000","role":"author","urls":{" paper":"https://harrisonwl.github.io/assets/papers/mpc00.pdf"},"metadata":{"authorlinks":{"harrison, w":"https://harrisonwl.github.io/etc/publications.html"}}},"search_terms":["metacomputation","based","compiler","architecture","harrison","kamin"],"keywords":[],"authorIDs":["5dc475579b60c2df010000fb","5dee581feaaee4df01000254","5df9dbe338a7afde010000b8","5e03c9676d2066de01000013","5e2b8df4f92538df01000009","5e55f36cc2c8a2df010000f1","5e64fd0d5fc0b7de010000d4","BPp6pLGb3wvE8tPNi","GrcodozaBpTrw2nXH","NmXf49aeDyLF3AL8F","a66s2jJ42S97qQxnX","iCiuqX2A39oLpzRv9","njB2ZmsnMejPsL7oC","uBWQddfiBuSzTqKrJ","xkL56M792TvXx8Hef"],"dataSources":["wAeScLDKnpPTHdYwg","uCveoExKMHQNZnZCp"]}