TR1991-004
| Some Useful Lisp Algorithms: Part 1 | |||
| Date: | December 1991 | ||
| MERL Contact: | Richard (Dick) Waters | ||
| Author: | Richard C. Waters | ||
| Where Published: | |||
Richard C. Waters This technical report gathers together three papers that were written during 1991 and submitted for publication in ACM Lisp Pointers. Each paper describes a useful Lisp algorithm. Chapter 1 "Supporting the Regression Testing of Lisp Programs" presents a system called RT that maintains a database of tests and automatically runs them when requested. This can take a lot of computer time, but does not take any of the programmer's time. As a result, any bugs found by running the tests---and this is a lot more bugs than you might think---are essentially found for free. Chapter 2 "Determining the Coverage of a Test Suite" presents a system called COVER that can help assess the coverage of a suite of test cases. When a suite of test cases for a program is run in conjunction with COVER, statistics are kept on which conditions in the code for the program are exercised and which are not. Based on this information, COVER can print a report of what has been missed. By devising tests that exercise these conditions, a programmer can extend the test suite so that it has more complete coverage. Chapter 3 "Implementing Queues in Lisp" (co-authored by P.~Norvig) presents several different algorithms for implementing queues in Lisp. It discusses why the obvious list-based implementation of queues is inefficient and the particular situations where more complex implementations are appropriate. | |||
| |||
