protocol
assignvarsp
Assignable variables (supporting backtracable assignment of non-variable terms) protocol.
Availability:
logtalk_load(assignvars(loader))Author: Nobukuni Kino and Paulo Moura
Version: 1:0:1
Date: 2019-06-10
Compilation flags:
staticDependencies:
(none)
Remarks:
(none)
Inherited public predicates:
(none)
Public predicates
assignable/1
Makes Variable an assignable variable. Initial state will be empty.
Compilation flags:
staticTemplate:
assignable(Variable)Mode and number of proofs:
assignable(--assignvar) - oneExceptions:
Variable is not a variable:
type_error(variable,Variable)assignable/2
Makes Variable an assignable variable and sets its initial state to Value.
Compilation flags:
staticTemplate:
assignable(Variable,Value)Mode and number of proofs:
assignable(--assignvar,@nonvar) - oneExceptions:
Variable is not a variable:
type_error(variable,Variable)Value is not instantiated:
instantiation_error(<=)/2
Sets the state of the assignable variable Variable to Value (initializing the variable if needed).
Compilation flags:
staticTemplate:
Variable<=ValueMode and number of proofs:
(?assignvar)<=(@nonvar) - oneExceptions:
Value is not instantiated:
instantiation_error(=>)/2
Unifies Value with the current state of the assignable variable Variable.
Compilation flags:
staticTemplate:
Variable=>ValueMode and number of proofs:
+assignvar=> ?nonvar - zero_or_oneExceptions:
Variable is not instantiated:
instantiation_errorProtected predicates
(none)
Private predicates
(none)
Operators
op(100,xfx,<=)
Scope:
publicop(100,xfx,=>)
Scope:
publicSee also