Вы можете сделать это с помощью intercalate
из Data.List
showList :: Show a => [a] -> String
showList = intercalate ", " . map show
. map show
преобразует каждый элемент в его строковое представление с кавычками (и любые внутренние кавычки должным образом экранируются), тогда как intercalate ", "
вставляет запятые и пробелы между частями и склеивает их вместе.