Abstract
Computation is a physical process which, like all other physical processes, is fundamentally reversible. From the notion of type isomorphisms, we derive a typed, universal, and reversible computational model in which information is treated as a linear resource that can neither be duplicated nor erased. We use this model as a semantic foundation for computation and show that the "gap" between conventional irreversible computation and logically reversible computation can be captured by a type-and-effect system. Our type-and-effect system is structured as an arrow metalanguage that exposes creation and erasure of information as explicit effect operations. Irreversible computations arise from interactions with an implicit information environment, thus making them a derived notion, much like open systems in Physics. We sketch several applications which can benefit from an explicit treatment of information effects, such as quantitative information-flow security and differential privacy.
Supplemental Material
- S. Abramsky. Retracing some paths in process algebra. In U. Montanari and V. Sassone, editors, CONCUR, volume 1119 of phLecture Notes in Computer Science, pages 1--17. Springer, 1996. Google Scholar
Digital Library
- S. Abramsky. A structural approach to reversible computation. Theor. Comput. Sci., 347: 441--464, December 2005. Google Scholar
Digital Library
- S. Abramsky and R. Jagadeesan. New foundations for the geometry of interaction. Inf. Comput., 111: 53--119, May 1994. Google Scholar
Digital Library
- A. Ahmed and M. Blume. Typed closure conversion preserves observational equivalence. In ICFP, pages 157--168. ACM, 2008. Google Scholar
Digital Library
- T. Altenkirch and J. Grattage. A functional quantum programming language. In P. Panangaden, editor, LICS, pages 249--258. IEEE Computer Society Press, June 2005. Google Scholar
Digital Library
- H. G. Baker. NREVERSAL of fortune - the thermodynamics of garbage collection. In Proceedings of the International Workshop on Memory Management, pages 507--524. Springer-Verlag, 1992. Google Scholar
Digital Library
- C. H. Bennett. Logical reversibility of computation. IBM J. Res. Dev., 17: 525--532, November 1973. Google Scholar
Digital Library
- W. J. Bowman, R. P. James, and A. Sabry. Dagger Traced Symmetric Monoidal Categories and Reversible Programming. In Workshop on Reversible Computation, 2011.Google Scholar
- L. Cardelli and G. Zavattaro. On the computational power of biochemistry. In Third International Conference on Algebraic Biology, 2008. Google Scholar
Digital Library
- D. Clark, S. Hunt, and P. Malacaria. A static analysis for quantifying information flow in a simple imperative language. J. Comput. Secur., 15: 321--371, August 2007. Google Scholar
Digital Library
- D. Deutsch. The Fabric of Reality. Penguin, 1997.Google Scholar
- A. Di Pierro, C. Hankin, and H. Wiklicky. Reversible combinatory logic. MSCS, 16: 621--637, August 2006. Google Scholar
Digital Library
- R. Duncan. Types for quantum computation. PhD thesis, Oxford University, 2006.Google Scholar
- C. Dwork. Differential privacy. In ICALP (2)'06, pages 1--12, 2006. Google Scholar
Digital Library
- M. Fiore. Isomorphisms of generic recursive polynomial types. In POPL, pages 77--88. ACM, 2004. Google Scholar
Digital Library
- E. Fredkin and T. Toffoli. Conservative logic. International Journal of Theoretical Physics, 21 (3): 219--253, 1982.Google Scholar
Cross Ref
- D. R. Ghica. Geometry of synthesis: a structured approach to VLSI design. In POPL, pages 363--375. ACM, 2007. Google Scholar
Digital Library
- J.-Y. Girard. Linear logic. Theor. Comput. Sci., 50: 1--102, 1987. Google Scholar
Digital Library
- R. Glück and M. Kawabe. Revisiting an automatic program inverter for Lisp. SIGPLAN Not., 40: 8--17, May 2005. Google Scholar
Digital Library
- L. Hammond, M. Willey, and K. Olukotun. Data speculation support for a chip multiprocessor. In ASPLOS, pages 58--69, New York, NY, USA, 1998. ACM. Google Scholar
Digital Library
- M. Hasegawa. Recursion from cyclic sharing: Traced monoidal categories and models of cyclic lambda calculi. In TLCA, pages 196--213. Springer-Verlag, 1997. Google Scholar
Digital Library
- J. Hatcliff and O. Danvy. A generic account of continuation-passing styles. In POPL, pages 458--471. ACM, 1994. Google Scholar
Digital Library
- L. Huelsbergen. A logically reversible evaluator for the call-by-name lambda calculus. InterJournal Complex Systems, 46, 1996.Google Scholar
- J. Hughes. Generalising monads to arrows. Sci. Comput. Program., 37 (1--3): 67--111, 2000. Google Scholar
Digital Library
- A. Joyal, R. Street, and D. Verity. Traced monoidal categories. Math. Proc. Camb. Philos. Soc., 119 (3): 447--468, 1996.Google Scholar
Cross Ref
- W. E. Kluge. A reversible SE(M)CD machine. In International Workshop on Implementation of Functional Languages, pages 95--113. Springer-Verlag, 2000. Google Scholar
Digital Library
- Y. Lafont. The linear abstract machine. Theor. Comput. Sci., 59: 157--180, July 1988. ISSN 0304--3975. Google Scholar
Digital Library
- R. Landauer. Irreversibility and heat generation in the computing process. IBM J. Res. Dev., 5: 183--191, July 1961. Google Scholar
Digital Library
- X. Ma, J. Huang, and F. Lombardi. A model for computing and energy dissipation of molecular QCA devices and circuits. J. Emerg. Technol. Comput. Syst., 3 (4): 1--30, 2008. Google Scholar
Digital Library
- E. Macii and M. Poncino. Exact computation of the entropy of a logic circuit. In Proceedings of the 6th Great Lakes Symposium on VLSI, Washington, DC, USA, 1996. IEEE Computer Society. Google Scholar
Digital Library
- I. Mackie. Reversible higher-order computations. In Workshop on Reversible Computation, 2011.Google Scholar
- P. Malacaria. Assessing security threats of looping constructs. In POPL, pages 225--235. ACM, 2007. Google Scholar
Digital Library
- J. L. Massey. Guessing and entropy. In Proceedings of the IEEE International Symposium on Information Theory, page 204, 1994.Google Scholar
Cross Ref
- A. B. Matos. Linear programs in a simple reversible language. Theor. Comput. Sci., 290: 2063--2074, January 2003. Google Scholar
Digital Library
- Y. Minamide, G. Morrisett, and R. Harper. Typed closure conversion. In POPL, pages 271--283, New York, NY, USA, 1996. ACM. Google Scholar
Digital Library
- E. Moggi. Notions of computation and monads. Inf. Comput., 93: 55--92, July 1991. Google Scholar
Digital Library
- S.-C. Mu, Z. Hu, and M. Takeichi. An injective language for reversible computation. In International Conference on Mathematics of Program Construction, pages 289--313, 2004.Google Scholar
Cross Ref
- P. O'hearn. On bunched typing. J. Funct. Program., 13: 747--796, July 2003. Google Scholar
Digital Library
- A. D. Pierro, C. Hankin, and H. Wiklicky. Probabilistic lambda-calculus and quantitative program analysis. J. Log. Comput., 15 (2), 2005. Google Scholar
Digital Library
- J. Reed and B. C. Pierce. Distance makes the types grow stronger: a calculus for differential privacy. In ICFP, pages 157--168. ACM, 2010. Google Scholar
Digital Library
- B. J. Ross. Running programs backwards: The logical inversion of imperative computation. Formal Aspects of Computing, 9: 331--348, 1997.Google Scholar
Cross Ref
- A. Sabelfeld and A. Myers. Language-based information-flow security. IEEE Journal on Selected Areas in Communications, 21 (1): 5--19, 2003. Google Scholar
Digital Library
- P. Selinger and B. Valiron. A lambda calculus for quantum computation with classical control. MSCS, 16 (3): 527--552, 2006. Google Scholar
Digital Library
- T. Toffoli. Reversible computing. In Proceedings of the Colloquium on Automata, Languages and Programming, pages 632--644. Springer-Verlag, 1980. Google Scholar
Digital Library
- A. van Tonder. A lambda calculus for quantum computation. SIAM Journal on Computing, 33 (5): 1109--1135, 2004. Google Scholar
Digital Library
- P. Wadler. Linear types can change the world! In M. Broy and C. Jones, editors, IFIP TC 2 Working Conference on Programming Concepts and Methods, pages 347--359. North Holland, 1990.Google Scholar
- }Yokoyama:2008:PRPT. Yokoyama, H. B. Axelsen, and R. Glück. Principles of a reversible programming language. In Conference on Computing Frontiers, pages 43--54. ACM, 2008. Google Scholar
Digital Library
- H. Zeng, C. S. Ellis, A. R. Lebeck, and A. Vahdat. Ecosystem: managing energy as a first class operating system resource. SIGPLAN Not., 37 (10): 123--132, 2002. Google Scholar
Digital Library
- P. Zuliani. Logical reversibility. IBM J. Res. Dev., 45: 807--818, November 2001. Google Scholar
Digital Library
Index Terms
Information effects
Recommendations
Information effects
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesComputation is a physical process which, like all other physical processes, is fundamentally reversible. From the notion of type isomorphisms, we derive a typed, universal, and reversible computational model in which information is treated as a linear ...
Quantum information effects
We study the two dual quantum information effects to manipulate the amount of information in quantum computation: hiding and allocation. The resulting type-and-effect system is fully expressive for irreversible quantum computing, including measurement. ...
Algebraic effects and effect handlers for idioms and arrows
WGP '14: Proceedings of the 10th ACM SIGPLAN workshop on Generic programmingPlotkin and Power's algebraic effects combined with Plotkin and Pretnar's effect handlers provide a foundation for modular programming with effects. We present a generalisation of algebraic effects and effect handlers to support other kinds of effectful ...







Comments