Careful reasoning about Haskell programs - exploring lifted function and pair types.
Abstract: This work is a case study in program verification: We have written a simple parser and a corresponding pretty-printer in a nonstrict functional programming language with lifted pairs and functions (Haskell). A natural aim is to prove that the programs are, in some sense, each other's inverses. The presence of partial and infinite values in the domains makes this exercise interesting, and having lifted types adds an extra spice to the task. We have tackled the problem in different ways, and this ... (Update)
Similar documents based on text: More All
0.3: Fast and Loose Reasoning is Morally Correct - Danielsson, Hughes, Jansson.. (2006)
(Correct)
0.2: Matroids from Modules - Danielsson, Smyth (2003)
(Correct)
0.2: Polytypic Unification - Jansson, Jeuring (1993)
(Correct)
BibTeX entry: (Update)
Danielsson, N., Jansson, P.: Chasing Bottoms: A Case Study in Program Verification in the Presence of Partial and Infinite Values, in: Proceedings of the 7th International Conference on Mathematics of Program Construction, vol. 3125 of Lecture Notes in Computer Science, Springer, Stirling, Scotland, July 2004. http://citeseer.ist.psu.edu/danielsson04chasing.html More
@inproceedings{ danielssonjansson04:chasingbottoms,
author = {Nils Anders Danielsson and Patrik Jansson},
title = {Chasing Bottoms, A Case Study in Program
Verification in the Presence of Partial and Infinite
Values},
booktitle = {Proceedings of the 7th International Conference on
Mathematics of Program Construction, {MPC} 2004},
pages = {85--109},
year = {2004},
editor = {Dexter Kozen},
volume = {3125},
series = {{LNCS}},
month = jul,
publisher = {Springer-Verlag},
url = {citeseer.ist.psu.edu/danielsson04chasing.html},
url = {http://www.cs.chalmers.se/~nad/publications/danielsson-jansson-mpc2004.html} }
Citations (may not include all citations):
206
Why functional programming matters
- Hughes - 1989
44
Total correctness by local improvement in the transformation..
- Sands - 1996
20
QuickCheck: A lightweight tool for random testing of Haskell..
- Claessen, Hughes - 2000
16
Haskell 98 Language and Libraries (context) - Jones - 2003
12
Polytypic data conversion programs
- Jansson, Jeuring - 2002
7
Scrap your boilerplate: A practical design pattern for gener.. (context) - ammel, Jones - 2003
2
The Haskell 98 Foreign Function Interface (context) - Chakravarty - 2003
2
Free theorems in the presence of seq
- Johann, Voigtl - 2004
2
Information Processing Letters (context) - Hutton, Gibbons et al. - 2001
1
A static semantics for Haskell (context) - Fax - 2002
1
A QuickCheck Generators The QuickCheck generators used in th.. (context) - Schmidt, for et al. - 1988
1
volume 180 of NATO Science Series: Computer & Systems Scienc.. (context) - Jones, of et al. - 2001
1
Submitted to Fundamenta Informaticae Special Issue on Progra.. (context) - Gibbons, Hutton et al. - 2004
1
Monadic corecursion { de nition (context) - Pardo - 2000
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC