Subject: Re: handling small numbers

From: Patrick Herring <[email-masked]>
Date: Thu, 11 May 2000 11:03:32 +0100 (BST)

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