Declare optional types which are checked during development time. See pack documentation for more information.
When optimizations are enabled
(current_prolog_flag(optimise, true)
) a macro removes the
entirely so that it always succeeds.
quickcheck:arbitrary/2
.
This predicate performs probabilistic subtype detection by leveraging
your definitions for error:has_type/2
and quickcheck:arbitrary/2
.
If this predicate is not detecting your types correctly, either
improve your quickcheck:arbitrary/2 definition or add clauses to
the multifile predicate type_subtype/2.
list(T)
) so Type may be a non-ground term.
As a convenience, the type named type
describes the set of all
values for which known_type/1
is true.