From dick@csci.csusb.edu  Mon Mar 13 17:58:59 2000
Received: from silicon.csci.csusb.edu (silicon.csci.csusb.edu [139.182.38.1])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id RAA29401
	for <prolog@swi.psy.uva.nl>; Mon, 13 Mar 2000 17:58:58 +0100 (MET)
From: dick@csci.csusb.edu
Received: from blaze.csci.csusb.edu (blaze.csci.csusb.edu [139.182.38.10])
	by silicon.csci.csusb.edu (8.9.1/8.9.1) with ESMTP id IAA04364;
	Mon, 13 Mar 2000 08:55:34 -0800 (PST)
	(envelope-from dick@csci.csusb.edu)
Received: by csci.csusb.edu id IAA14695; Mon, 13 Mar 2000 08:53:34 -0800 (8.9.1 Berkeley Sendmail)
Date: Mon, 13 Mar 2000 08:53:34 -0800
Message-Id: <200003131653.IAA14695@csci.csusb.edu>
To: fraser.mathieson@stir.ac.uk, prolog@swi.psy.uva.nl
Subject: Re:  Printing to a file

The solution to most debugging problems, in all languages,
including Prolog, follows from taking this statement
>I have used the following, and it is not doing the right thing.
and filling in the blanks in this statement:

I have used the following and it acts precisely as if it was ___.

It helps to be able to say precisely when the bug happens,
how it happens, and where it happens.  It also helps to know
when, where, how it does *not* happen.

This is from a very good little book on Program Debugging
in the British Isles by Brown & Sampson (McGrawHill/Elsevier). 

dick
Will debug for Whisky.
There Aint No Such Thing As A Free Lunch

