context(Context)
Returns the execution context for a predicate call using the format logtalk(Call,ExecutionContext). Mainly used for providing a default error context when type-checking predicate arguments. The ExecutionContext should be regarded as an opaque term, which can be decoded using the logtalk::execution_context/7 predicate. Calls to this predicate are inlined at compilation time.
context(--callable)
type_error(var, Context)foo(A, N) :-
% type-check arguments
context(Context),
type::check(atom, A, Context),
type::check(integer, N, Context),
% arguments are fine; go ahead
... .