úÎxu%      !"#$Requires OverloadedStringsStable#Bas van Dijk <v.dijk.bas@gmail.com>%(Put two string-likes besides eachother.  Note that  is just a synonym for %.  mid m x y Puts x and y around m.  Note that:  mid m x y =  x y m. =Put two string-likes besides eachother separated by a space. &Put two string-likes above eachother. List version of . List version of . List version of . punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn].  between b c s wraps the string-like s between b and c. Wrap a string-like in (...). Wrap a string-like in [...]. Wrap a string-like in {...}. Wrap a string-like in <...>. Wrap a string-like in '...'. Wrap a string-like in "...". Like &! conditionally wraps a string in (...) 2This function is supposed to be used infix as in:  (precedence >= 10) ` thenParen` ("fun" <+> "arg") &Convert a character to a string-like. A ';' character. A : character. A ',' character. A ' ' character. A '\n' character. A '=' character. A '(' character. A ')' character. A '[' character. A ']' character. A '{' character. A '}' character. A '<' character. A '>' character. 'Convert a Show-able value to a string.  fromShow = fromString . show !Convert an Int to a string-like. !%Convert an Integer to a string-like. ""Convert a Float to a string-like. ##Convert a Double to a string-like. $%Convert a Rational to a string-like. %  !"#$%   !"#$%  !"#$'      !"#$%&'()'*+,string-combinators-0.3Data.String.Combinators<>mid<+>$$hcathsepvcat punctuatebetweenparenbracketsbraces angleBracketsquotes doubleQuotes thenParencharsemicoloncommaspacenewlineequalslparenrparenlbrackrbracklbracerbracelabrackrabrackfromShowintintegerfloatdoublerationalbase Data.MonoidmappendGHC.Show showParen