
callable(?Term)

   Succeeds if Term is callable, i.e. of type atom or compound.

Arguments
   Term                Prolog term.

Type
   Type Testing

Description

Used to test whether Term is a 'callable' term, i.e. whether it
is an atom or compound term, and could therefore be used as a goal.
Note that this is a purely syntactic check which does not say
anything about the existence of a corresponding predicate.

This predicate is equivalent to

    callable(X) :- atom(X).
    callable(X) :- compound(X).

Note that it also succeeds for lists.


Modes and Determinism
   callable(?) is semidet

Fail Conditions
   Fails if Term is not an atom or a compound term

Examples
   
Success:
   callable(true).
   callable(hello("world",42)).
   callable(f(1,2)).
   callable([1,2,3]).
   callable(.(1,2)).
   callable(foo).
   callable([]).

Fail:
   callable("f(1,2)").
   callable(_).
   callable(42).
   make_suspension(true,0,S), callable(S).


See Also
   atom / 1, compound / 1, is_list / 1, is_array / 1, var / 1
