Re: unexpected/incorrect error with compiled call_priority/2 (

From: Kish Shen <k.shen_at_icparc.ic.ac.uk>
Date: Tue 27 Feb 2001 12:39:03 PM GMT
Message-ID: <3A9B9FE7.79961F0@icparc.ic.ac.uk>
This problem is due to the non-type checking of the priority argument
before the arithematic comparison is made with the existing priority:

( Prio < P ->

If Prio is an atom or a structure, it gets translated into a goal with
arity + 1. Then Prio < P might succeed or fail without generating an
error. In fact
the call itself might be made without an error.

Fix: added a test for integer in both the inline code and tool code for
call_priority:

(integer(Prio) -> true ; error(5, call_priority(Goal, Prio), Module)),

This will cause type error to be generated for all non-integer Prio
(including if it is a variable).
Received on Tue Feb 27 12:39:05 2001

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:04 PM GMT GMT