Abstract
We present a pair of reasoning principles, definition and proof by rigid induction, which can be seen as proper generalizations of lazy-datatype induction to monadic effects other than partiality. We further show how these principles can be integrated into logical-relations arguments, and obtain as a particular instance a general and principled proof that the success-stream and failure-continuation models of backtracking are equivalent. As another application, we present a monadic model of general search trees, not necessarily traversed depth-first. The results are applicable to both lazy and eager languages, and we emphasize this by presenting most examples in both Haskell and SML.
Original language | English |
---|---|
Title of host publication | ICFP 07 : Proceedings of the 2007 ACM SIGPLAN International Conference on Functional Programming, Freiburg, Germany, October 1-3, 2007 |
Publisher | Association for Computing Machinery |
Publication date | 2007 |
Pages | 97-110 |
ISBN (Print) | 978-1-59593-815-2 |
DOIs | |
Publication status | Published - 2007 |
Event | ACM/SIGPLAN International Conference on Functional Programming - Freiburg, Germany Duration: 1 Oct 2007 → 3 Oct 2007 Conference number: 12 |
Conference
Conference | ACM/SIGPLAN International Conference on Functional Programming |
---|---|
Number | 12 |
Country/Territory | Germany |
City | Freiburg |
Period | 01/10/2007 → 03/10/2007 |
Series | SIGPLAN Notices |
---|---|
Number | 42 (9) |
ISSN | 0362-1340 |