[Add recent draft papers + Olaf's prettyprinting and type-debugging papers. malcolm**20020815111650] { hunk ./docs/publications.html 14 + +
  • Koen Claessen, Colin Runciman, Olaf Chitil, John Hughes, + Malcolm Wallace:
    +Testing and Tracing Lazy Functional Programs + using QuickCheck and Hat
    +3th Summer School in Advanced Functional Programming, Oxford, +Preliminary version, August 2002, 40 pages. +

    +One motivation for using a functional programming language is that +it is more difficult (or even impossible) to make low-level mistakes, +and it is easier to reason about programs. But even the most advanced +functional programmers are not infallible; they misunderstand the +properties of their own programs, or those of others, and so commit +errors. We therefore aim to provide functional programmers with +tools for testing and tracing programs. In broad terms, testing +means first specifying what behaviour is acceptable in principle, +then finding out whether behaviour in practice matches up to it across +the input space. Tracing means first recording the internal details +of a computation, then examining what is recorded to gain insight, to +check hypotheses or to locate faults. We concentrate on QuickCheck, +a tool for testing Haskell programs, and Hat, a tool for tracing them. +Each tool is useful in its own right, but they are even more useful +in combination: testing using QuickCheck can identify failing cases, +tracing using Hat can reveal the causes of failure. +
    Postscript (103 KB) +

    + +

  • Olaf Chitil, Colin Runciman, Malcolm Wallace:
    +Transforming Haskell for Tracing
    +submitted to International Workshop on the Implementation of Functional +Languages, Madrid, Sept 2002, 17 pages. +

    +Hat is a programmer's tool for generating a trace of a computation of +a Haskell 98 program and viewing such a trace in various different +ways. Applications include program comprehension and debugging. +A new version of Hat uses a stand-alone program transformation to +produce self-tracing Haskell programs. The transformation is small +and works with any Haskell 98 compiler that implements the standard +foreign function interface. We present general techniques for +building compiler independent tools similar to Hat based on program +transformation. We also point out which features of Haskell 98 caused +us particular grief. +
    Postscript (84 KB) +

    + +

  • Olaf Chitil:
    +A Semantics for Tracing
    +in Draft Proceedings of the 13th +International Workshop on Implementation of Functional Languages, IFL 2001, +Älvsjö, Sweden, 24-26 September 2001, +editors Thomas Arts and Markus Mohnen, +Ericsson Computer Science Laboratory, +pp. 249-254. +

    +We define a small step operational semantics for a core of Haskell. We modify +this semantics to generate traces, specifically Augmented Redex Trails. This +small and direct definition of Augmented Redex Trails shall improve our +understanding of them and shall help to extend them systematically. +
    +Postscript (44 KB) +

    + hunk ./docs/publications.html 100 -Freja, Hat and Hood - A Comparative Evaluation of Three Systems for Tracing and Debugging Lazy Functional Programs
    +Freja, Hat and Hood - A Comparative Evaluation of Three Systems + for Tracing and Debugging Lazy Functional Programs
    hunk ./docs/publications.html 116 - hunk ./docs/publications.html 123 +Publications not directly about Hat, but produced as a spin-off +result of the Hat project: +

    + hunk ./docs/publications.html 197 -This page last modified: 11 June 2002
    +This page last modified: 14 August 2002
    }