Да, есть :
Prelude> import Data.List
Prelude Data.List> intercalate " " ["is","there","such","a","function","?"]
"is there such a function ?"
intersperse
немного более общий:
Prelude> import Data.List
Prelude Data.List> concat (intersperse " " ["is","there","such","a","function","?"])
"is there such a function ?"
Кроме того, для конкретного случая, когда вы хотите присоединиться с пробелом, есть unwords
:
Prelude> unwords ["is","there","such","a","function","?"]
"is there such a function ?"
unlines
работает аналогично, только строки разворачиваются с использованием символа новой строки и что символ новой строки также добавляется в конец. (Это делает его полезным для сериализации текстовых файлов, которые в соответствии со стандартом POSIX должны заканчиваться новой строкой в конце)