Partial Evaluation of Janus Part 2: Assertions and Procedures

  • Torben Ægidius Mogensen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7162)


We continue earlier work on partial evaluation of the reversible language Janus. In this paper, we improve the handling of assertions and extend the partial evaluation method to handle procedure calls, which were omitted in the previous work. The partial evaluator now handles the full Janus language.


Residual Program Basic Block Partial Evaluation Procedure Call Reversible Computation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abramsky, S.: A structural approach to reversible computation. Oxford University Computing Laboratory (2001) (manuscript)Google Scholar
  2. 2.
    Bennett, C.H.: Time/space trade-offs for reversible computation. SIAM Journal on Computing 18(4), 766–776 (1989)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Buhrman, H., Tromp, J., Vitányi, P.: Time and Space Bounds for Reversible Simulation. In: Orejas, F., Spirakis, P.G., van Leeuwen, J. (eds.) ICALP 2001. LNCS, vol. 2076, pp. 1017–1027. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Feynman, R.P.: Reversible computation and the thermodynamics of computing. Feynman Lectures on Computation, ch. 5, pp. 137–184. Addison-Wesley (1996)Google Scholar
  5. 5.
    Hatcliff, J., Mogensen, T.Æ., Thiemann, P. (eds.): Partial Evaluation. Practice and Theory. DIKU 1998 International Summer School. LNCS, vol. 1706. Springer, Heidelberg (1999)Google Scholar
  6. 6.
    Jones, N.D., Gomard, C.K., Sestoft, P.: Partial Evaluation and Automatic Program Generation. Prentice-Hall (1993)Google Scholar
  7. 7.
    Landauer, R.: Irreversibility and heat generation in the computing process. IBM Journal of Research and Development 5(3), 183–191 (1961)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Leuschel, M.: Logic Program Specialisation. In: Hatcliff, J., Mogensen, T.Æ., Thiemann, P. (eds.) Partial Evaluation. Practice and Theory. DIKU 1998 International Summer School. LNCS, vol. 1706, pp. 155–188. Springer, Heidelberg (1999)Google Scholar
  9. 9.
    Lutz, C.: Janus: a time-reversible language. A letter to Landauer (1986),
  10. 10.
    Mogensen, T.Æ.: Partial evaluation of the reversible language janus. In: submitted to PEPM 2010. ACM Press (2010)Google Scholar
  11. 11.
    Morita, K., Shirasaki, A., Gono, Y.: A 1-tape 2-symbol reversible turing machine. IEICE Transactions E72(3), 223–228 (1989)Google Scholar
  12. 12.
    Toffoli, T.: Reversible Computing. In: de Bakker, J.W., van Leeuwen, J. (eds.) ICALP 1980. LNCS, vol. 85, pp. 632–644. Springer, Heidelberg (1980)CrossRefGoogle Scholar
  13. 13.
    Yokoyama, T., Axelsen, H.B., Glück, R.: Reversible Flowchart Languages and the Structured Reversible Program Theorem. In: Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I. (eds.) ICALP 2008, Part II. LNCS, vol. 5126, pp. 258–270. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Yokoyama, T., Axelsen, H.B., Glück, R.: Principles of a reversible programming language. In: Proceedings of the 5th Conference on Computing Frontiers, CF 2008, pp. 43–54. ACM, New York (2008)CrossRefGoogle Scholar
  15. 15.
    Yokoyama, T., Glück, R.: A reversible programming language and its invertible self-interpreter. In: PEPM 2007: Proceedings of the 2007 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 144–153. ACM, New York (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Torben Ægidius Mogensen
    • 1
  1. 1.DIKUUniversity of CopenhagenCopenhagen ODenmark

Personalised recommendations