Principles of a reversible programming language

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

The principles of reversible programming languages are explicated and illustrated with reference to the design of a high-level imperative language, Janus. The fundamental properties for such languages include backward as well as forward determinism and reversible updates of data. The unique design features of the language include explicit post-condition assertions, direct access to an inverse semantics and the possibility of clean (i.e., garbage-free) computation of injective functions. We suggest the clean simulation of reversible Turing machines as a criterion for computing strength of reversible languages, and demonstrate this for Janus. We show the practicality of the language by implementation of a reversible fast Fourier transform. Our results indicate that the reversible programming paradigm has fundamental properties that are relevant to many different areas of computer science.
OriginalsprogEngelsk
TitelConference on Computing Frontiers, CF 2008 : Proceedings of the 2008 Conference on Computing Frontiers, Ischia, Italy May 5-7, 2008
ForlagAssociation for Computing Machinery
Publikationsdato2008
Sider43-54
ISBN (Trykt)9781605580777
DOI
StatusUdgivet - 2008
BegivenhedConference on Computing Frontiers - Ischia, Italien
Varighed: 5 maj 20087 maj 2008

Konference

KonferenceConference on Computing Frontiers
LandItalien
ByIschia
Periode05/05/200807/05/2008

Bibliografisk note

ACM, http://doi.acm.org/10.1145/1366230.1366239

ID: 6363146