Write structured strings
Transform a writer to a string
Join two writers into one.
Join writers with commans, enclosed with braces. Puts all things on a new line if the first argument is True.
Join writers with commans, enclosed with brackets. Puts all things on a new line if the first argument is True.
Break a few writers over different lines
Write nothing
Add indentation of n spaces
write (indent 2 (string "foo")) == " foo"Join a bunch of writers into one.
Write something if it is present
Join writers with commans, enclosed with parens. Puts all things on a new line if the first argument is True.
Join writers with the second value in the tuple and enclose with the first and last. Puts all things on a new line if the second argument is True.
write (sepBy ("<","-",">") False [string "a", string "b"]) == "<a,b>"Join writers with commas. Puts all things on a new line if the first argument is True.
Join writers with spaces. Puts all things on a new line if the first argument is True.
Join a few writers with spaces
Write a literal string
Opaque type which holds the data to be writter