object

maybe

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

Author: Paulo Moura
Version: 0.3
Date: 2017/12/18
Compilation flags:
static, context_switching_calls

Public interface

cat/2

Returns the values stored in the non-empty optionals.

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

Protected interface

(see related entities)

Private predicates

(see related entities)

Operators

(none)

Remarks

  • Type maybe(Type): Allows type-checking optional references where 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.