Jeopardy: An Invertible Functional Programming Language

Joachim Tilsted Kristensen*, Robin Kaarsgaard, Michael Kirkedal Thomsen

*Corresponding author af dette arbejde

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningpeer review

11 Downloads (Pure)

Abstract

Reversible programming languages guarantee that their programs are invertible at the cost of restricting the permissible operations to those which are locally invertible. However, writing programs in a reversible style can be cumbersome, and may produce significantly different implementations than the conventional – even when the implemented algorithm is, in fact, invertible. We introduce Jeopardy, a functional programming language that guarantees global program invertibility without imposing local invertibility. In particular, Jeopardy allows the limited use of uninvertible – and even nondeterministic – operations, provided that they are used in a way that can be statically determined to be globally invertible. To this end, we outline an implicitly available arguments analysis and further approaches that can give a partial static guarantee to the (generally difficult) problem of guaranteeing invertibility.

OriginalsprogEngelsk
TitelReversible Computation - 16th International Conference, RC 2024, Proceedings
RedaktørerTorben Aegidius Mogensen, Lukasz Mikulski
ForlagSpringer
Publikationsdato2024
Sider124-141
ISBN (Trykt)9783031620751
DOI
StatusUdgivet - 2024
Begivenhed16th International Conference on Reversible Computation, RC 2024 - Torun, Polen
Varighed: 4 jul. 20245 jul. 2024

Konference

Konference16th International Conference on Reversible Computation, RC 2024
Land/OmrådePolen
ByTorun
Periode04/07/202405/07/2024
NavnLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Vol/bind14680 LNCS
ISSN0302-9743

Bibliografisk note

Publisher Copyright:
© The Author(s), under exclusive license to Springer Nature Switzerland AG 2024.

Citationsformater