object
optional(Reference)¶
Optional reference predicates. Requires passing an optional reference constructed using the “optional” object as a parameter.
static, context_switching_calls(no dependencies on other entities)
Public interface¶
is_empty/0¶
True if the optional reference is empty. Avoid whenever possible by using instead the if_empty/1 predicate.
staticis_empty - zero_or_oneis_present/0¶
True if the optional reference holds a term. Avoid whenever possible by using instead the if_present/1 predicate.
staticis_present - zero_or_oneif_empty/1¶
Calls a goal if the optional reference is empty. Succeeds otherwise.
staticif_empty(Goal)if_empty(0)if_empty(+callable) - zero_or_moreif_present/1¶
Applies a closure with the optional reference value as additional argument if not empty. Succeeds otherwise.
staticif_present(Closure)if_present(1)if_present(+callable) - zero_or_morefilter/2¶
Returns the optional reference when it is non-empty and its value satisfies a closure. Otherwise returns an empty optional.
staticfilter(Closure,Reference)filter(1,*)filter(+callable,--nonvar) - onemap/2¶
When the optional reference is non-empty and mapping a closure with the optional reference value and the new value as additional arguments is successful, returns an optional reference with the new value. Otherwise returns an empty optional.
staticmap(Closure,NewReference)map(2,*)map(+callable,--nonvar) - oneflat_map/2¶
When the optional reference is non-empty and mapping a closure with the optional reference value and the new optional reference as additional arguments is successful, returns the new optional reference. Otherwise returns an empty optional.
staticflat_map(Closure,NewReference)flat_map(2,*)flat_map(+callable,--nonvar) - oneget/1¶
Returns the optional reference term if not empty. Throws an error otherwise.
staticget(Term)get(--term) - oneexistence_error(optional_term,Reference)or_else/2¶
Returns the optional reference term if not empty or the given default term if the optional is empty.
staticor_else(Term,Default)or_else(--term,@term) - oneor_else_get/2¶
Returns the optional reference term if not empty or applies a closure to compute the term if the optional is empty. Throws an error when the optional is empty and a term cannot be computed using the given closure.
staticor_else_get(Term,Closure)or_else_get(*,1)or_else_get(--term,+callable) - oneexistence_error(optional_term,Reference)or_else_call/2¶
Returns the optional reference term if not empty or calls a goal deterministically if the optional is empty. Can be used e.g. to generate an exception for empty optionals.
staticor_else_call(Term,Goal)or_else_call(*,0)or_else_call(--term,+callable) - zero_or_oneor_else_fail/1¶
Returns the optional reference term if not empty. Fails otherwise. Usually called to skip over empty optionals.
staticor_else_fail(Term)or_else_fail(--term) - zero_or_oneProtected interface¶
(none)
Private predicates¶
(none)
Operators¶
(none)