[ Type Testing | Reference Manual | Alphabetic Index ]

var(?Var)

Succeeds if Var is a variable or an attributed variable.
Var
Prolog term.

Description

Used to test whether Var is a variable or an attributed variable. The difference between var/1 and free/1 is that var/1 succeeds on attributed variables as well.

var/1 could be defined as

    var(X) :- free(X).
    var(X) :- meta(X).

Modes and Determinism

Fail Conditions

Fails if Var is instantiated

Examples

Success:
      var(X).
      var(_abc).
      var(_).
      var(X{a}).
      suspend:(X>0), var(X).

Fail:
      var(atom).
      var('Abc').



See Also

free / 1, meta / 1, nonground / 1, nonvar / 1, type_of / 2