predicate_property/2
¶
Description¶
predicate_property(Predicate, Property)
Enumerates, by backtracking, the properties of a visible object predicate. Properties for predicates not declared using a scope directive are not enumerated. The valid predicate properties are listed in the language grammar section on predicate properties and described in the User Manual section on predicate properties.
When Predicate
is ground at compile time and its predicate indicator
is listed in a uses/2 or use_module/2
directive, properties are enumerated for the referenced object or module
predicate.
When Predicate
is bound at compile time to a :/2
term, this
predicate enumerates properties for module predicates (assuming that
the backend Prolog compiler supports modules).
Modes and number of proofs¶
predicate_property(+callable, ?predicate_property) - zero_or_more
Errors¶
Predicate
is a variable:instantiation_error
Predicate
is neither a variable nor a callable term:type_error(callable, Predicate)
Property
is neither a variable nor a valid predicate property:domain_error(predicate_property, Property)
Examples¶
To enumerate, by backtracking, the properties of a locally visible user predicate or a user predicate visible in this:
predicate_property(Predicate, Property)
To enumerate, by backtracking, the properties of a public or protected predicate visible in self:
::predicate_property(Predicate, Property)
To enumerate, by backtracking, the properties of a public predicate visible in an explicit object:
Object::predicate_property(Predicate, Property)
See also