undefined modules: inconsistent errors (#900)

From: Kish Shen <ks15_at_icparc.ic.ac.uk>
Date: Thu 22 Feb 2001 02:05:05 PM GMT
Message-Id: <E14VwMj-00059g-00@holborn.icparc.ic.ac.uk>
If a once/1, not/1 call_priority call is made to a currently undefined module,
different errors are raised, depending if the call is compiled or not:

[eclipse 20]: [user].
 f :- once(a:b).
 user       compiled traceable 68 bytes in 0.00 seconds

yes.
[eclipse 21]: f.
calling an undefined procedure a : b in module eclipse
[eclipse 22]: call(once(a:b)).
not a module in a : b
[eclipse 23]: 

For call/1, however, not a module is always raised:

[eclipse 25]: [user].
 f :-
   call(a:b).
 user       compiled traceable 64 bytes in 0.00 seconds

yes.
[eclipse 26]: f.
not a module in a : b
[eclipse 27]: call(a:b).
not a module in a : b
[eclipse 28]: 

======================================

Discussion with Joachim:

These calls should raised a consistent error in all cases. A new error
should be introduced, to distinguish calls made to a predicate in an
undefined module, from calls to undefined predicate in a defined module.
This allows the opportunity for the undefined module to be loaded if so
wished. 
Received on Thu Feb 22 14:05:07 2001

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