Reasoning About Multi-Stage Programs
dc.contributor.author | Inoue, Jun | |
dc.contributor.author | Taha, Walid | |
dc.date.accessioned | 2017-08-02T22:03:10Z | |
dc.date.available | 2017-08-02T22:03:10Z | |
dc.date.issued | 2011-10-15 | |
dc.date.note | October 15, 2011 | |
dc.description.abstract | We settle three basic questions that naturally arise when verifying multi-stage functional programs. Firstly, does adding staging to a language compromise any equalities that hold in the base language? Unfortunately it does, and more care is needed to reason about terms with free variables. Secondly, staging annotations, as the name “annotations” suggests, are often thought to be orthogonal to the behavior of a program, but when is this formally guaranteed to be true? We give termination conditions that characterize when this guarantee holds. Finally, do multi-stage languages satisfy useful, standard extensional facts, for example that functions agreeing on all arguments are equivalent? We provide a sound and complete notion of applicative bisimulation, which establishes such facts or, in principle, any valid program equivalence. These results greatly improve our understanding of staging, and allow us to prove the correctness of quite complicated multi-stage programs. | |
dc.format.extent | 49 pp | |
dc.identifier.citation | Inoue, Jun and Taha, Walid. "Reasoning About Multi-Stage Programs." (2011) https://hdl.handle.net/1911/96397. | |
dc.identifier.digital | TR11-04 | |
dc.identifier.uri | https://hdl.handle.net/1911/96397 | |
dc.language.iso | eng | |
dc.rights | You are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s). | |
dc.title | Reasoning About Multi-Stage Programs | |
dc.type | Technical report | |
dc.type.dcmi | Text |
Files
Original bundle
1 - 1 of 1