@inproceedings{22db5b1921204bfc98c0b6dac2812a4b,
title = "Jeopardy: An Invertible Functional Programming Language",
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.",
keywords = "functional programming languages, invertible computing, program inversion, reversible computing",
author = "Kristensen, {Joachim Tilsted} and Robin Kaarsgaard and Thomsen, {Michael Kirkedal}",
year = "2024",
doi = "10.1007/978-3-031-62076-8_9",
language = "English",
isbn = "978-3-031-62075-1",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Science+Business Media",
pages = "124--141",
editor = "Mogensen, {Torben Aegidius} and Lukasz Mikulski",
booktitle = "Reversible Computation - 16th International Conference, RC 2024, Proceedings",
address = "United States",
note = "16th International Conference on Reversible Computation, RC 2024 ; Conference date: 04-07-2024 Through 05-07-2024",
}