This library prints accesses to specified predicates by wrapping the predicate.
- trace(:Pred) is det
- trace(:Pred, +PortSpec) is det
- Print passes through ports of specified predicates. Pred is a,
possible partial, specification of a predicate as it is also used be
spy/1 and similar predicates. Where a full predicate specification
is of the shape
Module:Name/Arity(or `//Arity for non-terminals), both the module and arity may be omitted in which case Pred refers to all matching predicates. PortSpec is either a single port (
redo), preceded with
-or a list of these. The predicate modifies the current trace specification and then installs a suitable wrapper for the predicate using wrap_predicate/4. For example:
append([a,b], [c], L). T Call: lists:
append([a, b], [c], _10478)T Call: lists:
append([b], [c], _11316)T Call: lists:
append(, [c], _11894)T Exit: lists:
append(, [c], [c])T Exit: lists:
append([b], [c], [b, c])T Exit: lists:
append([a, b], [c], [a, b, c])L = [a, b, c].
- tracing(:Spec, -Ports)
- True if Spec is traced using Ports
The following predicates are exported, but not or incorrectly documented.