Formatting a list of strings as a comma-separated string
It looks idiomatic to me.  

There's one slight improvement to the code that I could come up with.  There is a function that does what you're doing in the middle, called intercalate.  Here's the definition, from Data.List:

intercalate :: [a] -&gt; [[a]] -&gt; [a]
intercalate xs xss = concat (intersperse xs xss)


Using that, your function becomes:

asList :: [String] -&gt; String
asList ss = "[" ++ (intercalate "," ss) ++ "]"