Jeopardy: An Invertible Functional Programming Language

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

Documents

  • Fulltext

    Submitted manuscript, 195 KB, PDF document

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.

Original languageEnglish
Title of host publicationReversible Computation - 16th International Conference, RC 2024, Proceedings
EditorsTorben Aegidius Mogensen, Lukasz Mikulski
PublisherSpringer
Publication date2024
Pages124-141
ISBN (Print)9783031620751
DOIs
Publication statusPublished - 2024
Event16th International Conference on Reversible Computation, RC 2024 - Torun, Poland
Duration: 4 Jul 20245 Jul 2024

Conference

Conference16th International Conference on Reversible Computation, RC 2024
LandPoland
ByTorun
Periode04/07/202405/07/2024
SeriesLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume14680 LNCS
ISSN0302-9743

Bibliographical note

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

    Research areas

  • functional programming languages, invertible computing, program inversion, reversible computing

ID: 395385107