Jeopardy: An Invertible Functional Programming Language

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Standard

Jeopardy : An Invertible Functional Programming Language. / Kristensen, Joachim Tilsted; Kaarsgaard, Robin; Thomsen, Michael Kirkedal.

Reversible Computation - 16th International Conference, RC 2024, Proceedings. ed. / Torben Aegidius Mogensen; Lukasz Mikulski. Springer, 2024. p. 124-141 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 14680 LNCS).

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Harvard

Kristensen, JT, Kaarsgaard, R & Thomsen, MK 2024, Jeopardy: An Invertible Functional Programming Language. in TA Mogensen & L Mikulski (eds), Reversible Computation - 16th International Conference, RC 2024, Proceedings. Springer, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 14680 LNCS, pp. 124-141, 16th International Conference on Reversible Computation, RC 2024, Torun, Poland, 04/07/2024. https://doi.org/10.1007/978-3-031-62076-8_9

APA

Kristensen, J. T., Kaarsgaard, R., & Thomsen, M. K. (2024). Jeopardy: An Invertible Functional Programming Language. In T. A. Mogensen, & L. Mikulski (Eds.), Reversible Computation - 16th International Conference, RC 2024, Proceedings (pp. 124-141). Springer. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) Vol. 14680 LNCS https://doi.org/10.1007/978-3-031-62076-8_9

Vancouver

Kristensen JT, Kaarsgaard R, Thomsen MK. Jeopardy: An Invertible Functional Programming Language. In Mogensen TA, Mikulski L, editors, Reversible Computation - 16th International Conference, RC 2024, Proceedings. Springer. 2024. p. 124-141. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 14680 LNCS). https://doi.org/10.1007/978-3-031-62076-8_9

Author

Kristensen, Joachim Tilsted ; Kaarsgaard, Robin ; Thomsen, Michael Kirkedal. / Jeopardy : An Invertible Functional Programming Language. Reversible Computation - 16th International Conference, RC 2024, Proceedings. editor / Torben Aegidius Mogensen ; Lukasz Mikulski. Springer, 2024. pp. 124-141 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), Vol. 14680 LNCS).

Bibtex

@inproceedings{58585708cc124e32bdfaf931efbab1ad,
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}",
note = "Publisher Copyright: {\textcopyright} The Author(s), under exclusive license to Springer Nature Switzerland AG 2024.; 16th International Conference on Reversible Computation, RC 2024 ; Conference date: 04-07-2024 Through 05-07-2024",
year = "2024",
doi = "10.1007/978-3-031-62076-8_9",
language = "English",
isbn = "9783031620751",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer",
pages = "124--141",
editor = "Mogensen, {Torben Aegidius} and Lukasz Mikulski",
booktitle = "Reversible Computation - 16th International Conference, RC 2024, Proceedings",
address = "Switzerland",

}

RIS

TY - GEN

T1 - Jeopardy

T2 - 16th International Conference on Reversible Computation, RC 2024

AU - Kristensen, Joachim Tilsted

AU - Kaarsgaard, Robin

AU - Thomsen, Michael Kirkedal

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

PY - 2024

Y1 - 2024

N2 - 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.

AB - 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.

KW - functional programming languages

KW - invertible computing

KW - program inversion

KW - reversible computing

U2 - 10.1007/978-3-031-62076-8_9

DO - 10.1007/978-3-031-62076-8_9

M3 - Article in proceedings

AN - SCOPUS:85195886919

SN - 9783031620751

T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

SP - 124

EP - 141

BT - Reversible Computation - 16th International Conference, RC 2024, Proceedings

A2 - Mogensen, Torben Aegidius

A2 - Mikulski, Lukasz

PB - Springer

Y2 - 4 July 2024 through 5 July 2024

ER -

ID: 395385107