Did you know ... | Search Documentation: |
![]() | Pack logtalk -- logtalk-3.81.0/docs/_sources/assignvarsp_0.rst.txt |
.. index:: assignvarsp .. _assignvarsp/0:
.. rst-class:: right
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:
| static
| Dependencies: | (none)
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: assignable/1 .. _assignvarsp/0::assignable/1:
assignable/1 ^^^^^^^^^^^^^^^^
Makes Variable
an assignable variable. Initial state will be empty.
| Compilation flags:
| static
| Template:
| assignable(Variable)
| Mode and number of proofs:
| assignable(--assignvar)
- one
| Exceptions:
| Variable is not a variable:
| type_error(variable,Variable)
.. index:: assignable/2 .. _assignvarsp/0::assignable/2:
assignable/2 ^^^^^^^^^^^^^^^^
Makes Variable
an assignable variable and sets its initial state to Value
.
| Compilation flags:
| static
| Template:
| assignable(Variable,Value)
| Mode and number of proofs:
| assignable(--assignvar,@nonvar)
- one
| Exceptions:
| Variable is not a variable:
| type_error(variable,Variable)
| Value is not instantiated:
| instantiation_error
.. index:: (<=)/2 .. _assignvarsp/0::(<=)/2:
(<=)/2
^^^^^^^^^^
Sets the state of the assignable variable Variable
to Value
(initializing the variable if needed).
| Compilation flags:
| static
| Template:
| Variable<=Value
| Mode and number of proofs:
| (?assignvar)<=(@nonvar)
- one
| Exceptions:
| Value is not instantiated:
| instantiation_error
.. index:: (=>)/2 .. _assignvarsp/0::(=>)/2:
(=>)/2
^^^^^^^^^^
Unifies Value
with the current state of the assignable variable Variable
.
| Compilation flags:
| static
| Template:
| Variable=>Value
| Mode and number of proofs:
| +assignvar=> ?nonvar
- zero_or_one
| Exceptions:
| Variable is not instantiated:
| instantiation_error
(none)
(none)
op(100,xfx,<=)
^^^^^^^^^^^^^^^^^^
| Scope:
| public
op(100,xfx,=>)
^^^^^^^^^^^^^^^^^^
| Scope:
| public
.. seealso::
:ref:`assignvars <assignvars/0>`