This image provides a short overview of the "assembly/disassembly" predicates:
|Did you know ...||Search Documentation:|
?- foo(hello, X) =.. List. List = [foo, hello, X] ?- Term =.. [baz, foo(1)]. Term = baz(foo(1))
SWI-Prolog also supports terms with arity 0, as in
section 5. Such terms
must be processed using
This predicate raises a domain error as shown below. See also functor/3.
?- a() =.. L. ERROR: Domain error: `compound_non_zero_arity' expected, found `a()'