object

maybe

Types and predicates for type-checking and handling optional terms. Inspired by Haskell.

Author: Paulo Moura
Version: 0:6:0
Date: 2019-11-26
Compilation flags:
static, context_switching_calls
Remarks:
  • Type-checking support: Defines type maybe(Type) for checking optional terms where the value hold by the optional term must be of the given type.

  • QuickCheck support: Defines clauses for the arbitrary::arbitrary/1-2 predicates to allow generating random values for the maybe(Type) type.

Inherited public predicates:
(none)

Public predicates

cat/2

Returns the values stored in the non-empty optional terms.

Compilation flags:
static
Template:
cat(Optionals,Values)
Mode and number of proofs:
cat(+list(optional),-list) - one

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)