Proving Make Correct: I/O Proofs in Haskell and Clean

This paper discusses reasoning about I/O operations in the languages Haskell and Clean and makes some observations about proving properties of programs which perform significant I/O. We developed a model of the I/O system and produced some techniques to reason about the behaviour of programs run in...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Dowse, Malcolm, Strong, Glenn, Butterfield, Andrew
Format: Buchkapitel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:This paper discusses reasoning about I/O operations in the languages Haskell and Clean and makes some observations about proving properties of programs which perform significant I/O. We developed a model of the I/O system and produced some techniques to reason about the behaviour of programs run in the model. We then used those techniques to prove some properties of a program based on the standard make tool. We consider the I/O systems of both languages from a program proving perspective, and note some similarities in the overall structure of the proofs. A set of operators for assisting in the reasoning process are defined, and we then draw some conclusions concerning reasoning about the effect of functional programs on the outside world, give some suggestions for techniques and discuss future work.
ISSN:0302-9743
1611-3349
DOI:10.1007/3-540-44854-3_5