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.
Supplemental Material
- JB Kruskal. Well-quasi-ordering, the Tree Theorem, and Vazsonyi's conjecture. Trans. Amer. Math. Soc, 95: 210--225, 1960.Google Scholar
- Neil Mitchell. Rethinking supercompilation. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP 2010. ACM, 2010. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- Jeremy Gibbons and Bruno C. d. S. Oliveira. The essence of the iterator pattern. Journal of Functional Programming, 19, 2009. 10.1017/S0956796809007291. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Max Bolingbroke and Simon Peyton Jones. Supercompilation by evaluation. In Proceedings of the 2010 ACM SIGPLAN Haskell Symposium, September 2010. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Neil D. Jones and Nina Bohr. Termination analysis of the untyped lamba-calculus. In RTA, pages 1--23, 2004.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
Index Terms
Termination combinators forever
Recommendations
Termination combinators forever
Haskell '11: Proceedings of the 4th ACM symposium on HaskellWe 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 ...
From Outermost Termination to Innermost Termination
SOFSEM '09: Proceedings of the 35th Conference on Current Trends in Theory and Practice of Computer ScienceRewriting is the underlying evaluation mechanism of functional programming languages. Therefore, termination analysis of term rewrite systems (TRSs) is an important technique for program verification. To capture the evaluation mechanism of a programming ...
Decidability of Innermost Termination and Context-Sensitive Termination for Semi-Constructor Term Rewriting Systems
Yi and Sakai [Y. Wang and M. Sakai. Decidability of termination for semi-constructor trss, left-linear shallow trss and related systems. In the 17th International Conference on Rewriting Techniques and Applications, volume 4098 of Lecture Notes in ...







Comments