Bachelor of Arts
Reversible programming languages are those whose programs can be run backwards as well as forwards. This condition impacts even the most basic constructs, such as =, if and while. I discuss Janus, the first imperative reversible programming language, and its limitations. I then introduce Arrow, a reversible language with modern features, including functions. Example programs are provided.
Rose, Eli, "Arrow: A Modern Reversible Programming Language" (2015). Honors Papers. 270.