
How exactly QuasiQuote behave, and what is available to handle them? (Or: can I find information already on the web?)
A QuasiQuoter is data QuasiQuoter = QuasiQuoter {quoteExp :: String -> Q Exp, quotePat :: String -> Q Pat} -- Defined in Language.Haskell.TH.Quote There is a good writeup on the haskell.org wiki, and a link to a paper there.
Sugestion: what about tex like syntax, i.e., change of line is a space, blank line is a newline (so that we could reformat the string without changing content)?
GHC hands you a String, and you can do arbitrary things with it before you eventually return either an ExpQ or PatQ (depending on context). I've uploaded a few QQs to hackage http://hackage.haskell.org/cgi-bin/hackage-scripts/package/regexqq http://hackage.haskell.org/cgi-bin/hackage-scripts/package/lighttpd-conf-qq and am working on both one for Haskell itself, as well as as for Javascript.
Best, MaurĂcio
Matt