skip to main content
research-article

Termination combinators forever

Published:22 September 2011Publication History
Skip Abstract Section

Abstract

We describe a library-based approach to constructing termination tests suitable for controlling termination of symbolic methods such as partial evaluation, supercompilation and theorem proving. With our combinators, all termination tests are correct by construction. We show how the library can be designed to embody various optimisations of the termination tests, which the user of the library takes advantage of entirely transparently.

Skip Supplemental Material Section

Supplemental Material

_talk3.mp4

References

  1. JB Kruskal. Well-quasi-ordering, the Tree Theorem, and Vazsonyi's conjecture. Trans. Amer. Math. Soc, 95: 210--225, 1960.Google ScholarGoogle Scholar
  2. Neil Mitchell. Rethinking supercompilation. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2010. ACM, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Michael Leuschel. On the power of homeomorphic embedding for online termination. In Static Analysis, volume 1503 of Lecture Notes in Computer Science, pages 230--245. Springer Berlin / Heidelberg, 1998. ISBN 978-3-540-65014-0. 10.1007/3-540-49727-7_14. URL http://www.springerlink.com/content/g93wxkkwpfvvmnmg/.Google ScholarGoogle ScholarCross RefCross Ref
  4. Valentin F. Turchin. The algorithm of generalization in the supercompiler. Dines Bjørner, Andrei P. Ershov, and Neil D. Jones, editors, Partial Evaluation and Mixed Computation, pages 531--549, 1988.Google ScholarGoogle Scholar
  5. Crispin S.J.A. Nash-Williams. On well-quasi-ordering finite trees. In Mathematical Proceedings of the Cambridge Philosophical Society, volume 59, pages 833--835. Cambridge Univ Press, 1963.Google ScholarGoogle ScholarCross RefCross Ref
  6. Simon Peyton Jones, Cordy Hall, Kevin Hammond, Jones Cordy, Kevin Hall, Will Partain, and Phil Wadler. The Glasgow Haskell compiler: a technical overview, 1992.Google ScholarGoogle Scholar
  7. Jeremy Gibbons and Bruno C. d. S. Oliveira. The essence of the iterator pattern. Journal of Functional Programming, 19, 2009. 10.1017/S0956796809007291. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ilya Klyuchnikov. Supercompiler HOSC 1.0: under the hood. Preprint 63, Keldysh Institute of Applied Mathematics, Moscow, 2009. URL http://library.keldysh.ru/preprint.asp?lg=e&id=2009-63.Google ScholarGoogle Scholar
  9. Peter A. Jonsson and Johan Nordlander. Positive supercompilation for a higher order call-by-value language. In POPL '09: Proceedings of the 36th ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. W. Hamilton. Distillation: extracting the essence of programs. In Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, PEPM '07, pages 61--70, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-620-2. http://doi.acm.org/10.1145/1244381.1244391. URL http://doi.acm.org/10.1145/1244381.1244391. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Max Bolingbroke and Simon Peyton Jones. Supercompilation by evaluation. In Proceedings of the 2010 ACM SIGPLAN Haskell Symposium, September 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Jean H. Gallier. What's so special about Kruskal's theorem and the ordinal #947;_0? a survey of some results in proof theory. Annals of Pure and Applied Logic, 53 (3): 199--260, 1991.Google ScholarGoogle ScholarCross RefCross Ref
  13. Andreas Podelski and Andrey Rybalchenko. Transition invariants. In Proceedings of the 19th Annual IEEE Symposium on Logic in Computer Science, pages 32--41, Washington, DC, USA, 2004. IEEE Computer Society. ISBN 0-7695-2192-4. 10.1109/LICS.2004.50. URL http://portal.acm.org/citation.cfm?id=1018438.1021840. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Byron Cook, Andreas Podelski, and Andrey Rybalchenko. Termination proofs for systems code. In Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, PLDI '06, pages 415--426, New York, NY, USA, 2006. ACM. ISBN 1-59593-320-4. http://doi.acm.org/10.1145/1133981.1134029. URL http://doi.acm.org/10.1145/1133981.1134029. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Neil D. Jones and Nina Bohr. Termination analysis of the untyped lamba-calculus. In RTA, pages 1--23, 2004.Google ScholarGoogle Scholar
  16. Ilya Klyuchnikov. Supercompiler HOSC 1.5: homeomorphic embedding and generalization in a higher-order setting. Preprint 62, Keldysh Institute of Applied Mathematics, Moscow, 2010. URL http://pat.keldysh.ru/ ilya/preprints/HOSC15_en.pdf.Google ScholarGoogle Scholar
  17. Ulf Norell. Towards a practical programming language based on dependent type theory. PhD thesis, Department of Computer Science and Engineering, Chalmers University of Technology, SE-412 96 Göteborg, Sweden, September 2007.Google ScholarGoogle Scholar
  18. Jeremy Gibbons. Datatype-generic programming. In Roland Backhouse, Jeremy Gibbons, Ralf Hinze, and Johan Jeuring, editors, Datatype-Generic Programming, volume 4719 of Lecture Notes in Computer Science, pages 1--71. Springer Berlin / Heidelberg, 2007. URL http://dx.doi.org/10.1007/978-3-540-76786-2_1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Ralf Hinze and Johan Jeuring. Generic Haskell: Practice and theory. In Roland Backhouse and Jeremy Gibbons, editors, Generic Programming, volume 2793 of Lecture Notes in Computer Science, pages 1--56. Springer Berlin / Heidelberg, 2003. URL http://dx.doi.org/10.1007/978-3-540-45191-4_1.Google ScholarGoogle Scholar
  20. A.R. Yakushev, S. Holdermans, A. Löh, and J. Jeuring. Generic programming with fixed points for mutually recursive datatypes. ACM SIGPLAN Notices, 44 (9): 233--244, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Termination combinators forever

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGPLAN Notices
      ACM SIGPLAN Notices  Volume 46, Issue 12
      Haskell '11
      December 2011
      129 pages
      ISSN:0362-1340
      EISSN:1558-1160
      DOI:10.1145/2096148
      Issue’s Table of Contents
      • cover image ACM Conferences
        Haskell '11: Proceedings of the 4th ACM symposium on Haskell
        September 2011
        136 pages
        ISBN:9781450308601
        DOI:10.1145/2034675

      Copyright © 2011 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 22 September 2011

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!