Beauty in the beast

  • Authors:
  • Wouter Swierstra;Thorsten Altenkirch

  • Affiliations:
  • University of Nottingham, Nottingham, England UK;University of Nottingham, Nottingham, England UK

  • Venue:
  • Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

It can be very difficult to debug impure code, let alone prove its correctness. To address these problems, we provide a functional specification of three central components of Peyton Jones's awkward squad: teletype IO, mutable state, and concurrency. By constructing an internal model of such concepts within our programming language, we can test, debug, and reason about programs that perform IO as if they were pure. In particular, we demonstrate how our specifications may be used in tandem with QuickCheck to automatically test complex pointer algorithms and concurrent programs.