Loading...
Please wait, while we are loading the content...
Similar Documents
Tracing lazy functional languages (1995).
| Content Provider | CiteSeerX |
|---|---|
| Author | Wansbrough, Keith |
| 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 areas for future work. Contents 1 Introduction 3 2 Lambda calculi 5 2.1 Notation : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5 2.2 The call-by-name calculus : : : : : : : : : : : : : : : : : : : : 6 2.3 Standard reduction : : : : : : : : : : : : : : : : : : : : : : : : 7 2.4 The call-by-value calculus : : : : :... |
| File Format | |
| Publisher Date | 1995-01-01 |
| Access Restriction | Open |
| Subject Keyword | Lazy Functional Language Future Work Pure Functional Language Conventional Imperative Language Call-by-value Calculus Call-by-need Lambda Calculus Different Model Standard Reduction Common Debugging Technique Call-by-name Calculus Suitable Formal Model Use Today |
| Content Type | Text |