:Goal
Calls an imported category predicate without using the message sending mechanisms. The category predicate is called with the same execution context (sender, this, and self) as the predicate whose body contains the call. The lookup for both the predicate declaration and the predicate definition begins in this. For the predicate definition, the lookup is restricted to the imported categories. As a consequence, any redeclaration or redefinition of the predicate in a descendant of the object containing the call will be ignored.
:+callable
instantiation_error
type_error(callable, Goal)
existence_error(procedure, Goal)
:- object(bounded_point, imports(bounded_coordinate), instantiates(class), specializes(point)). move(X, Y) :- :check_bounds(x, X), % defined in the "bounded_coordinate" category :check_bounds(y, Y), ^^move(X, Y).