determinism_error
exception.
Note that if $/1
is used for the last call, last call optimization is not effective. This
behaviour ensures consistent errors or warnings. Last call optimization
with determinism checking can be realised using ..., $, Last.
,
i.e. by executing
$/0 before the
last call rather than wrapping the last call in $/1.
Violations throw an error/2 exception
determinism_error(Pred, Declared, Observed, goal)
.