Automated Termination Analysis for Haskell: From Term Rewriting to Programming Languages

  • Jürgen Giesl
  • Stephan Swiderski
  • Peter Schneider-Kamp
  • René Thiemann
Conference paper

DOI: 10.1007/11805618_23

Volume 4098 of the book series Lecture Notes in Computer Science (LNCS)
Cite this paper as:
Giesl J., Swiderski S., Schneider-Kamp P., Thiemann R. (2006) Automated Termination Analysis for Haskell: From Term Rewriting to Programming Languages. In: Pfenning F. (eds) Term Rewriting and Applications. RTA 2006. Lecture Notes in Computer Science, vol 4098. Springer, Berlin, Heidelberg

Abstract

There are many powerful techniques for automated termination analysis of term rewriting. However, up to now they have hardly been used for real programming languages. We present a new approach which permits the application of existing techniques from term rewriting in order to prove termination of programs in the functional language Haskell. In particular, we show how termination techniques for ordinary rewriting can be used to handle those features of Haskell which are missing in term rewriting (e.g., lazy evaluation, polymorphic types, and higher-order functions). We implemented our results in the termination prover AProVE and successfully evaluated them on existing Haskell-libraries.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Jürgen Giesl
    • 1
  • Stephan Swiderski
    • 1
  • Peter Schneider-Kamp
    • 1
  • René Thiemann
    • 1
  1. 1.RWTH AachenLuFG Informatik 2AachenGermany