4 research outputs found

    A Structural Approach to Reversible Computation

    Get PDF
    Reversibility is a key issue in the interface between computation and physics, and of growing importance as miniaturization progresses towards its physical limits. Most foundational work on reversible computing to date has focussed on simulations of low-level machine models. By contrast, we develop a more structural approach. We show how high-level functional programs can be mapped compositionally (i.e. in a syntax-directed fashion) into a simple kind of automata which are immediately seen to be reversible. The size of the automaton is linear in the size of the functional term. In mathematical terms, we are building a concrete model of functional computation. This construction stems directly from ideas arising in Geometry of Interaction and Linear Logic---but can be understood without any knowledge of these topics. In fact, it serves as an excellent introduction to them. At the same time, an interesting logical delineation between reversible and irreversible forms of computation emerges from our analysis.Comment: 30 pages, appeared in Theoretical Computer Scienc

    A Fully Complete PER Model for ML Polymorphic Types

    No full text
    . We present a linear realizability technique for building Partial Equivalence Relations (PER) categories over Linear Combinatory Algebras. These PER categories turn out to be linear categories and to form an adjoint model with their co-Kleisli categories. We show that a special linear combinatory algebra of partial involutions, arising from Geometry of Interaction constructions, gives rise to a fully and faithfully complete model for ML polymorphic types of system F. Keywords: ML-polymorphic types, linear logic, PER models, Geometry of Interaction, full completeness. Introduction Recently, Game Semantics has been used to define fully-complete models for various fragments of Linear Logic ([AJ94a,AM99]), and to give fully-abstract models for many programming languages, including PCF [AJM96,HO96,Nic94], richer functional languages [McC96], and languages with non-functional features such as reference types and non-local control constructs [AM97,Lai97]. All these results are cru..
    corecore