Availability:built-in
[ISO]atom_concat(?Atom1, 
?Atom2, ?Atom3)Atom3 forms the concatenation of Atom1 and Atom2. 
At least two of the arguments must be instantiated to atoms. This 
predicate also allows for the mode (-,-,+), non-deterministically 
splitting the 3rd argument into two parts (as append/3 
does for lists). SWI-Prolog allows for atomic arguments. Portable code 
must use atomic_concat/3 
if non-atom arguments are involved.