The function string-append*
takes a list of string designators and constructs a single string from them.
Each of the elements of the strings argument is first coerced into a string using the function string if it is not already a string.
string is a string of the "widest" type amongst strings. That is, the constructed string is of the same type as the string with the largest element type amongst those supplied in the argument.
(readtable-case *readtable*)
=>
:UPCASE
(string-append* '("foo" bar))
=>
"fooBAR"
(type-of
(string-append*
(list (coerce "A" 'simple-base-string)
(coerce "A" 'simple-text-string)
)))
=>
SIMPLE-TEXT-STRING
LispWorks User Guide and Reference Manual - 13 Feb 2015