conforms_to_protocol(Object, Protocol) conforms_to_protocol(Category, Protocol) conforms_to_protocol(Object, Protocol, Scope) conforms_to_protocol(Category, Protocol, Scope)
Enumerates, by backtracking, all pairs of entities such that an object or a category conforms to a protocol. The relation scope is represented by the atoms public
, protected
, and private
. This predicate implements a transitive closure for the protocol implementation relation.
conforms_to_protocol(?object_identifier, ?protocol_identifier) conforms_to_protocol(?category_identifier, ?protocol_identifier) conforms_to_protocol(?object_identifier, ?protocol_identifier, ?scope) conforms_to_protocol(?category_identifier, ?protocol_identifier, ?scope)
type_error(object_identifier, Object)
type_error(category_identifier, Category)
type_error(protocol_identifier, Protocol)
type_error(atom, Scope)
domain_error(scope, Scope)
| ?- conforms_to_protocol(list, listp). | ?- conforms_to_protocol(list, listp, public).