22 research outputs found

    Toward an Energy Efficient Language and Compiler for (Partially) Reversible Algorithms

    Full text link
    We introduce a new programming language for expressing reversibility, Energy-Efficient Language (Eel), geared toward algorithm design and implementation. Eel is the first language to take advantage of a partially reversible computation model, where programs can be composed of both reversible and irreversible operations. In this model, irreversible operations cost energy for every bit of information created or destroyed. To handle programs of varying degrees of reversibility, Eel supports a log stack to automatically trade energy costs for space costs, and introduces many powerful control logic operators including protected conditional, general conditional, protected loops, and general loops. In this paper, we present the design and compiler for the three language levels of Eel along with an interpreter to simulate and annotate incurred energy costs of a program.Comment: 17 pages, 0 additional figures, pre-print to be published in The 8th Conference on Reversible Computing (RC2016

    Reversible Object-Oriented Programming with Region-Based Memory Management

    No full text
    This paper presents the design and implementation JouleR, a reversible object-oriented language in the style of Janus, that supports common object-oriented programming patterns such as factories, iterators, and the definition of abstract datatypes. Memory management is performed using a simple notion of regions, enabling the full power of object-oriented programming to be used, while remaining completely garbage-free. The language is implemented by translation to Janus.</p

    A Reversible Runtime Environment for Parallel Programs

    No full text

    Toward an Energy Efficient Language and Compiler for (Partially) Reversible Algorithms

    No full text
    We introduce a new programming language for expressing reversibility, Energy-Efficient Language (Eel), geared toward algorithm design and implementation. Eel is the first language to take advantage of a partially reversible computation model, where programs can be composed of both reversible and irreversible operations. In this model, irreversible operations cost energy for every bit of information created or destroyed. To handle programs of varying degrees of reversibility, Eel supports a log stack to automatically trade energy costs for space costs, and introduces many powerful control logic operators including protected conditional, general conditional, protected loops, and general loops. In this paper, we present the design and compiler for the three language levels of Eel along with an interpreter to simulate and annotate incurred energy costs of a program. Keywords: Energy Cost, Forward Direction, Control Logic, Conditional Statement, Program Counte

    Involutory Turing Machines

    No full text
    corecore