Carl Ponder

Learn More
Side-effects are forbidden in applicative languages like Prolog [3], FP [2], pure Lisp [9], and SISAL [8]. Algorithms can often be reformulated applicatively with no loss of efficiency. It is not known whether this is always the case. Here are seven problems which have been resistant to efficient reformulation. The reader is invited to produce an efficient(More)
<bold>Prolog has become a subject of much discussion of late. It has been suggested as the logical language for programming expert systems. A parallel variant is said to be the language of the Japanese 5th Generation Project. In this paper the standard Prolog language is defined and shown to be a restriction of Logic Programming. Several alternative(More)
The performance ratio between two systems tends to vary across different benchmarks. Here we study this variation as a "signature" or "fingerprint" of the systems under consideration. This "fingerprint" can be used to guess the performance of programs not represented in a benchmark suite, assess the breadth and credibility of the benchmark suite, and infer(More)
Be careful when interpreting benchmark measurements that compare two languages or two implementations of the same language. A program expressed in two different languages rarely computes the exact same function in both cases. The same goes for a program run on two different implementations of the same language. The implementation details ultimately affect(More)
(We are publishing two reviews of this book. I had solicited the first, and the second was unsolicited.-Ed.) Raj Jain's new book, "The Art of Computer Systems Performance Analysis", is a very good introductory text for the topic. It is far broader in scope that any other book of which I am aware. Naturally, of course, if a single volume contains this much(More)
  • 1