heredoc-0.2.0.0: multi-line string / here document using QuasiQuotes

Safe HaskellNone

Text.Heredoc

Synopsis

Documentation

here :: QuasiQuoterSource

Create a string-literal expression from the string being quoted.

Newline literals are normalized to UNIX newlines (one '\n' character).

there :: QuasiQuoterSource

Create a string-literal expression from the contents of the file at the filepath being quoted.

Newline literals are normalized to UNIX newlines (one '\n' character).

str :: QuasiQuoterSource

Create a multi-line string literal whose left edge is demarcated by the pipe character ('|'). For example,

famousQuote = [str|Any dictator would admire the |uniformity and obedience of the U.S. media. | | -- Noam Chomsky |] 

is functionally equivalent to

famousQuote = "Any dictator would admire the\n" ++ "uniformity and obedience of the U.S. media.\n" ++ "\n" ++ " -- Noam Chomsky\n" 

If desired, you can have a ragged left-edge, so

myHtml = [str|<html> |<body> |<h1>My home page</h1> |</body> |</html> |] 

is functionally equivalent to

myHtml = "<html>\n" ++ "<body>\n" ++ "<h1>My home page</h1>\n" ++ "</body>\n" ++ "</html>\n"