11.3.242 =../2   ISO

Synopsis

+Term =.. -List

-Term =.. +List

Unifies List with a list whose head is the atomic term corresponding to the principal functor of Term and whose tail is a list of the arguments of Term.

Arguments

Term

term any term

List

list of term and not empty

Description

If Term is uninstantiated, then List must be instantiated either to a proper list whose head is an atom, or to a list of length 1 whose head is a number.

This predicate is not strictly necessary, since its functionality can be provided by arg/3 and functor/3, and using the latter two is usually more efficient.

Examples

| ?- product(0, n, n-1) =.. L.

L = [product,0,n,n-1]

| ?- n-1 =.. L.

L = [-,n,1]

| ?- product =.. L.

L = [product]

Exceptions

instantiation_error

Term is unbound and List is not instantiated enough.

type_error

List is not a proper list, or the head of List is not atomic, or the head of List is a number and the tail of List is not empty.

domain_error

List is the empty list.

representation_error

Term is uninstantiated and List is longer than 256.

See Also

functor/3, arg/3, ref-lte-act.


Send feedback on this subject.