This package is young;
the intent is to provide basic assertions to ensure data
integrity.
\emph{N.B. The behavior of this package changed in version 1.0.0---%
\ref{_assert_} now properly fails on non-match,
not match.}
The \ref{_assert_} template generates a~generic assertion using the
provided predicates.
If the predicates provided to the assertion fail (yields $\bot$),
the system immediately terminates.\footnote{
Beacuse the system stops processing once a terminating classification
yields~$\top$,
only one assertion will ever match,
even if others would match if execution were to continue.}
\ref{_assert_} implements assertions by genearting two classifications---%
one to perform the actual assertion,
and a terminating classification to ensure that the assertion
yields~$\top$.
-assert-
Assertion
-nassert-
_nassert
There is currently one standard assertion---
\ref{_assert-nonzero_} (also called \ref{_fail-on-empty_}.
\ref{_assert-nonzero_} terminates if \tt{@name@} is zero,
subject to \tt{@when@},
\tt{@class@},
and any other provided predicates.
is empty
This template was previously named \ref{_fail-on-empty_},
so an alias is provided for backwards-compatibility.
Note that it will display a deprecation warning.
is empty
deprecated; use _assert-nonzero_ instead.