MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Tracing Lazy Functional Languages 07.483 Advanced Project in Computer Science 1

Download:
Download as a PDF | Download as a PS
by Keith Wansbrough
http://www.cl.cam.ac.uk/~kw217/research/../pub/trlflrep-nofig4.ps.gz
Add To MetaCart

Abstract:

The tracing of conventional imperative languages is straightforward, and tracing is probably the most common debugging technique in use today. However, attempting blindly to trace pure functional languages, especially lazy functional languages, does not work due to the fundamentally different model of execution. We claim that Ariola, Felleisen, Maraist, Odersky and Wadler's call-by-need lambda calculus provides a suitable formal model upon which to build a tracer for a lazy functional language, and we demonstrate this by exhibiting such a tracer, LetTrace. We also discuss a number of issues encountered in the implementation of this system, and propose a few

Citations

1128 Monads for functional programming – Wadler - 1992
259 The Calculi of Lambda-Conversion – Church - 1941
245 The Lambda Calculus: Its Syntax and Semantics, volume 103 – Barendregt - 1984
204 The revised report on the syntactic theories of sequential control and state – Felleisen, Hieb - 1992
203 The lazy lambda calculus – Abramsky - 1990
155 The call-by-need lambda calculus – Ariola, Felleisen, et al. - 1995
131 Call-by-name, call-by-value, and the lambda calculus – Plotkin - 1975
96 Semantics and Pragmatics of the Lambda Calculus – Wadsworth - 1971
54 The implementation of the Gofer functional programming system – Jones - 1994
53 A Set of Postulates for the Foundation of Logic – Church - 1932
28 Control operators, the SECD-machine, and the lambda-calculus – Felleisen, Friedman - 1986
28 The call-by-need lambda calculus – Maraist, Odersky, et al. - 1998
25 Call-by-name, call-by-value, call-by-need and the linear lambda calculus – Maraist, Odersky, et al. - 1999
15 A User’s Manual for MetaPost. Computer science technical report. AT&T Bell Laboratories. CSTR-162 – Hobby - 1992
13 Call-by-need and continuation-passing style – Okasaki, Lee, et al. - 1994
11 unknown title – Jones - 1991
3 Cerno-II: A program visualisation system – Fenwick, Hosking, et al. - 1994
2 The callby -need lambda calculus (unabridged – Maraist, Odersky, et al. - 1994
2 A call-by-need lambda calculus. Presentation at CATS'94 – Wadler - 1994
1 Tracing lazy functional languages. Submitted to Computing: the Australian Theory Symposium – Gibbons, Wansbrough - 1996