object

optional

Constructors for optional term references. A reference is either empty or holds a term. References should be regarded as opaque terms and always used with the “optional(_)” object by passing the reference as a parameter.

Author: Paulo Moura
Version: 1.4
Date: 2019/1/23
Compilation flags:
static, context_switching_calls

Public interface

empty/1

Constructs an empty reference.

Compilation flags:
static
Template:
empty(Reference)
Mode and number of proofs:
empty(--nonvar) - one

of/2

Constructs a reference holding a term.

Compilation flags:
static
Template:
of(Term,Reference)
Mode and number of proofs:
of(@term,--nonvar) - one

from_goal/3

Constructs a reference by calling Goal that binds and holds Term on success. Returns an empty reference if the goal fails or throws an error.

Compilation flags:
static
Template:
from_goal(Goal,Term,Reference)
Meta-predicate template:
from_goal(0,*,*)
Mode and number of proofs:
from_goal(+callable,--term,--nonvar) - one

Protected interface

(see related entities)

Private predicates

(see related entities)

Operators

(none)

Remarks

  • Type-checking support: This object also defines a type “optional” for use with the “type” library object.