::Predicate
Send a message to self. Only used in the body of a predicate definition. The argument should match a public or protected predicate of self. It may also match a private predicate if the predicate is within the scope of the object where the method making the call is defined, if imported from a category, if used from inside a category, or when using private inheritance.
::+callable
instantiation_error
type_error(callable, Predicate)
permission_error(access, private_predicate, Predicate)
existence_error(predicate_declaration, Predicate)
area(Area) :- ::width(Width), ::height(Height), Area is Width*Height.