Towards a reversible functional language

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

Standard

Towards a reversible functional language. / Yokoyama, Tetsuo; Axelsen, Holger Bock; Glück, Robert.

Reversible Computation: Third International Workshop, RC 2011, Gent, Belgium, July 4-5, 2011. Revised Papers. ed. / Alexis De Vos; Robert Wille. Springer, 2012. p. 14-29 (Lecture notes in computer science, Vol. 7165).

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

Harvard

Yokoyama, T, Axelsen, HB & Glück, R 2012, Towards a reversible functional language. in A De Vos & R Wille (eds), Reversible Computation: Third International Workshop, RC 2011, Gent, Belgium, July 4-5, 2011. Revised Papers. Springer, Lecture notes in computer science, vol. 7165, pp. 14-29, 3rd International Workshop on Reversible Computation, Gent, Belgium, 04/07/2011. https://doi.org/10.1007/978-3-642-29517-1_2

APA

Yokoyama, T., Axelsen, H. B., & Glück, R. (2012). Towards a reversible functional language. In A. De Vos, & R. Wille (Eds.), Reversible Computation: Third International Workshop, RC 2011, Gent, Belgium, July 4-5, 2011. Revised Papers (pp. 14-29). Springer. Lecture notes in computer science Vol. 7165 https://doi.org/10.1007/978-3-642-29517-1_2

Vancouver

Yokoyama T, Axelsen HB, Glück R. Towards a reversible functional language. In De Vos A, Wille R, editors, Reversible Computation: Third International Workshop, RC 2011, Gent, Belgium, July 4-5, 2011. Revised Papers. Springer. 2012. p. 14-29. (Lecture notes in computer science, Vol. 7165). https://doi.org/10.1007/978-3-642-29517-1_2

Author

Yokoyama, Tetsuo ; Axelsen, Holger Bock ; Glück, Robert. / Towards a reversible functional language. Reversible Computation: Third International Workshop, RC 2011, Gent, Belgium, July 4-5, 2011. Revised Papers. editor / Alexis De Vos ; Robert Wille. Springer, 2012. pp. 14-29 (Lecture notes in computer science, Vol. 7165).

Bibtex

@inproceedings{768d6c2a97814843acbe80fe0909efae,
title = "Towards a reversible functional language",
abstract = "We identify concepts of reversibility for a functional language by means of a set of semantic rules with specific properties. These properties include injectivity along with local backward determinism, an important operational property for an efficient reversible language. We define a concise reversible first-order functional language in which access to the backward semantics is provided to the programmer by inverse function calls. Reversibility guarantees that in this language a backward run (inverse interpretation) is as fast as the corresponding forward run itself. By adopting a symmetric first-match policy for case expressions, we can write overlapping patterns in case branches, as is customary in ordinary functional languages, and also in leaf expressions, unlike existing inverse interpreter methods, which enables concise programs. In patterns, the use of a duplication/equality operator also simplifies inverse computation and program inversion. We discuss the advantages of a reversible functional language using example programs, including run-length encoding. Program inversion is seen to be as lightweight as for imperative reversible languages and realized by recursive descent. Finally, we show that the proposed language is r-Turing complete. ",
author = "Tetsuo Yokoyama and Axelsen, {Holger Bock} and Robert Gl{\"u}ck",
year = "2012",
doi = "10.1007/978-3-642-29517-1_2",
language = "English",
isbn = "978-3-642-29516-4",
series = "Lecture notes in computer science",
publisher = "Springer",
pages = "14--29",
editor = "{De Vos}, Alexis and Robert Wille",
booktitle = "Reversible Computation",
address = "Switzerland",
note = "3rd International Workshop on Reversible Computation, RC 2011 ; Conference date: 04-07-2011 Through 05-07-2011",

}

RIS

TY - GEN

T1 - Towards a reversible functional language

AU - Yokoyama, Tetsuo

AU - Axelsen, Holger Bock

AU - Glück, Robert

N1 - Conference code: 3

PY - 2012

Y1 - 2012

N2 - We identify concepts of reversibility for a functional language by means of a set of semantic rules with specific properties. These properties include injectivity along with local backward determinism, an important operational property for an efficient reversible language. We define a concise reversible first-order functional language in which access to the backward semantics is provided to the programmer by inverse function calls. Reversibility guarantees that in this language a backward run (inverse interpretation) is as fast as the corresponding forward run itself. By adopting a symmetric first-match policy for case expressions, we can write overlapping patterns in case branches, as is customary in ordinary functional languages, and also in leaf expressions, unlike existing inverse interpreter methods, which enables concise programs. In patterns, the use of a duplication/equality operator also simplifies inverse computation and program inversion. We discuss the advantages of a reversible functional language using example programs, including run-length encoding. Program inversion is seen to be as lightweight as for imperative reversible languages and realized by recursive descent. Finally, we show that the proposed language is r-Turing complete.

AB - We identify concepts of reversibility for a functional language by means of a set of semantic rules with specific properties. These properties include injectivity along with local backward determinism, an important operational property for an efficient reversible language. We define a concise reversible first-order functional language in which access to the backward semantics is provided to the programmer by inverse function calls. Reversibility guarantees that in this language a backward run (inverse interpretation) is as fast as the corresponding forward run itself. By adopting a symmetric first-match policy for case expressions, we can write overlapping patterns in case branches, as is customary in ordinary functional languages, and also in leaf expressions, unlike existing inverse interpreter methods, which enables concise programs. In patterns, the use of a duplication/equality operator also simplifies inverse computation and program inversion. We discuss the advantages of a reversible functional language using example programs, including run-length encoding. Program inversion is seen to be as lightweight as for imperative reversible languages and realized by recursive descent. Finally, we show that the proposed language is r-Turing complete.

U2 - 10.1007/978-3-642-29517-1_2

DO - 10.1007/978-3-642-29517-1_2

M3 - Article in proceedings

SN - 978-3-642-29516-4

T3 - Lecture notes in computer science

SP - 14

EP - 29

BT - Reversible Computation

A2 - De Vos, Alexis

A2 - Wille, Robert

PB - Springer

T2 - 3rd International Workshop on Reversible Computation

Y2 - 4 July 2011 through 5 July 2011

ER -

ID: 35257062