From patrick@dcs.shef.ac.uk  Thu May 11 12:03:24 2000
Received: from cedar.dcs.shef.ac.uk (cedar.dcs.shef.ac.uk [143.167.8.6])
	by swi.psy.uva.nl (8.9.3/8.9.3) with ESMTP id MAA12881
	for <prolog@swi.psy.uva.nl>; Thu, 11 May 2000 12:03:24 +0200 (MET DST)
Received: from wimberry.dcs.shef.ac.uk (wimberry.dcs.shef.ac.uk [143.167.8.111])
	by cedar.dcs.shef.ac.uk (8.9.3+Sun/8.9.3) with ESMTP id LAA00765;
	Thu, 11 May 2000 11:03:35 +0100 (BST)
Received: from wimberry (wimberry [143.167.8.111])
	by wimberry.dcs.shef.ac.uk (8.9.1b+Sun/8.9.1) with SMTP id LAA19635;
	Thu, 11 May 2000 11:03:33 +0100 (BST)
Message-Id: <200005111003.LAA19635@wimberry.dcs.shef.ac.uk>
Date: Thu, 11 May 2000 11:03:32 +0100 (BST)
From: Patrick Herring <p.herring@dcs.shef.ac.uk>
Reply-To: Patrick Herring <p.herring@dcs.shef.ac.uk>
Subject: Re: handling small numbers
To: ok@atlas.otago.ac.nz
Cc: prolog@swi.psy.uva.nl
X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.3.2 SunOS 5.7 sun4m sparc 
Content-Type: text
X-Sun-Text-Type: ascii

R O'Keefe wrote:
...
>With Sephton's approach to representation faults, the program will just
>fail quietly and mysteriously, and I've got several days of debugging
>ahead of me to find out why.
>
>With the "exceeding representation limits is *not* failure but an
>implementation-caused exception" approach, you get a an exception
>(with a nice clear message in QP) the very first time you hit the
>limit.

Yes, and this is very important for getting Prolog into data processing, 
where it should have been from the first. Commercial systems are as much 
about risk management as producing results, and silent errors are one of 
the few things that can kill a project instantly. What does IBM's Prolog 
do?

...
>	Would it not be more sensible to give the programmer the choice
>       as to 
>	whether he wants to use the exception mechanism to find out what
>       the reason was that the goal failed?
>
>The exception mechanism is a mechanism for reporting *exceptions*,
>not *failures*.  Presumably this means "would it not be more sensible
>to give the programmer the choice as to whether he wants exceptions
>or failures?".
>
>Been there, done that.  The `unknown' flag in some Prologs controls
>what
>happens when you call an undefined predicate.  People soon learned to
>switch
>it onto the exception setting and *leave* it there all the time.

Doesn't this muck up negation by failure, or have I completely 
misunderstood what you're referring to?

-- 
Patrick Herring; http://www.dcs.shef.ac.uk/people/P.Herring

