Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > db7a4a658d190b3e658423135710c498 > files > 734

ghc-darcs-devel-2.8.3-1.fc18.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Printer</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Printer.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Printer.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">darcs-2.8.3: a distributed, interactive, smart revision control system</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Printer</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span>  <a href="#t:Printable">Printable</a> <ul class="subs"><li>= <a href="#v:S">S</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>  </li><li>| <a href="#v:PS">PS</a> !<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>  </li><li>| <a href="#v:Both">Both</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> !<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>  </li></ul></li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:Doc">Doc</a>  = <a href="#v:Doc">Doc</a> {<ul class="subs"><li><a href="#v:unDoc">unDoc</a> :: St -&gt; Document</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Printers">Printers</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Printers-39-">Printers'</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Printers-39-">Printers'</a>  = <a href="#v:Printers">Printers</a> {<ul class="subs"><li><a href="#v:colorP">colorP</a> :: !(<a href="Printer.html#t:Color">Color</a> -&gt; <a href="Printer.html#t:Printer">Printer</a>)</li><li><a href="#v:invisibleP">invisibleP</a> :: !<a href="Printer.html#t:Printer">Printer</a></li><li><a href="#v:hiddenP">hiddenP</a> :: !<a href="Printer.html#t:Printer">Printer</a></li><li><a href="#v:userchunkP">userchunkP</a> :: !<a href="Printer.html#t:Printer">Printer</a></li><li><a href="#v:defP">defP</a> :: !<a href="Printer.html#t:Printer">Printer</a></li><li><a href="#v:lineColorT">lineColorT</a> :: !(<a href="Printer.html#t:Color">Color</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a>)</li><li><a href="#v:lineColorS">lineColorS</a> :: !([<a href="Printer.html#t:Printable">Printable</a>] -&gt; [<a href="Printer.html#t:Printable">Printable</a>])</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Printer">Printer</a> = <a href="Printer.html#t:Printable">Printable</a> -&gt; St -&gt; Document</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Color">Color</a> <ul class="subs"><li>= <a href="#v:Blue">Blue</a>  </li><li>| <a href="#v:Red">Red</a>  </li><li>| <a href="#v:Green">Green</a>  </li><li>| <a href="#v:Cyan">Cyan</a>  </li><li>| <a href="#v:Magenta">Magenta</a>  </li></ul></li><li class="src short"><a href="#v:hPutDoc">hPutDoc</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:hPutDocLn">hPutDocLn</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:putDoc">putDoc</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:putDocLn">putDocLn</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:hPutDocWith">hPutDocWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:hPutDocLnWith">hPutDocLnWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:putDocWith">putDocWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:putDocLnWith">putDocLnWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:renderString">renderString</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:renderStringWith">renderStringWith</a> :: <a href="Printer.html#t:Printers-39-">Printers'</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:renderPS">renderPS</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></li><li class="src short"><a href="#v:renderPSWith">renderPSWith</a> :: <a href="Printer.html#t:Printers-39-">Printers'</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></li><li class="src short"><a href="#v:renderPSs">renderPSs</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>]</li><li class="src short"><a href="#v:renderPSsWith">renderPSsWith</a> :: <a href="Printer.html#t:Printers-39-">Printers'</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>]</li><li class="src short"><a href="#v:lineColor">lineColor</a> :: <a href="Printer.html#t:Color">Color</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:prefix">prefix</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:insertBeforeLastline">insertBeforeLastline</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:colorText">colorText</a> :: <a href="Printer.html#t:Color">Color</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:invisibleText">invisibleText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:hiddenText">hiddenText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:hiddenPrefix">hiddenPrefix</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:userchunk">userchunk</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:text">text</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:printable">printable</a> :: <a href="Printer.html#t:Printable">Printable</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:wrapText">wrapText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:blueText">blueText</a>, <a href="#v:cyanText">cyanText</a>, <a href="#v:magentaText">magentaText</a>, <a href="#v:greenText">greenText</a>, <a href="#v:redText">redText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:unsafeText">unsafeText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:unsafeBoth">unsafeBoth</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:unsafeBothText">unsafeBothText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:unsafeChar">unsafeChar</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:invisiblePS">invisiblePS</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:packedString">packedString</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:unsafePackedString">unsafePackedString</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:userchunkPS">userchunkPS</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:simplePrinters">simplePrinters</a> :: <a href="Printer.html#t:Printers">Printers</a></li><li class="src short"><a href="#v:invisiblePrinter">invisiblePrinter</a> :: <a href="Printer.html#t:Printer">Printer</a></li><li class="src short"><a href="#v:simplePrinter">simplePrinter</a> :: <a href="Printer.html#t:Printer">Printer</a></li><li class="src short"><a href="#v:doc">doc</a> :: ([<a href="Printer.html#t:Printable">Printable</a>] -&gt; [<a href="Printer.html#t:Printable">Printable</a>]) -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:empty">empty</a> :: <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:-60--62-">(&lt;&gt;)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:-60--63--62-">(&lt;?&gt;)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:-60--43--62-">(&lt;+&gt;)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:-36--36-">($$)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:vcat">vcat</a> :: [<a href="Printer.html#t:Doc">Doc</a>] -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:vsep">vsep</a> :: [<a href="Printer.html#t:Doc">Doc</a>] -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:hcat">hcat</a> :: [<a href="Printer.html#t:Doc">Doc</a>] -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:space">space</a>, <a href="#v:backslash">backslash</a>, <a href="#v:minus">minus</a>, <a href="#v:plus">plus</a>, <a href="#v:newline">newline</a> :: <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:lparen">lparen</a> :: <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:rparen">rparen</a> :: <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:parens">parens</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a></li><li class="src short"><a href="#v:errorDoc">errorDoc</a> ::  <a href="Printer.html#t:Doc">Doc</a> -&gt; a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Printable" class="def">Printable</a>  <a href="src/Printer.html#Printable" class="link">Source</a></p><div class="doc"><p>A <code><a href="Printer.html#t:Printable">Printable</a></code> is either a String, a packed string, or a chunk of
 text with both representations.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:S" class="def">S</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PS" class="def">PS</a> !<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Both" class="def">Both</a> !<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> !<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:Doc" class="def">Doc</a>  <a href="src/Printer.html#Doc" class="link">Source</a></p><div class="doc"><p>a <code><a href="Printer.html#t:Doc">Doc</a></code> is a bit of enriched text. <code><a href="Printer.html#t:Doc">Doc</a></code>s get concatanated using
 <code><a href="Printer.html#v:-60--62-">&lt;&gt;</a></code>, which is right-associative.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Doc" class="def">Doc</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unDoc" class="def">unDoc</a> :: St -&gt; Document</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Doc" class="caption collapser" onclick="toggleSection('i:Doc')">Instances</p><div id="section.i:Doc" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> <a href="Printer.html#t:Doc">Doc</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Printers" class="def">Printers</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Printers-39-">Printers'</a><a href="src/Printer.html#Printers" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Printers-39-" class="def">Printers'</a>  <a href="src/Printer.html#Printers%27" class="link">Source</a></p><div class="doc"><p>A set of printers to print different types of text to a handle.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Printers" class="def">Printers</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:colorP" class="def">colorP</a> :: !(<a href="Printer.html#t:Color">Color</a> -&gt; <a href="Printer.html#t:Printer">Printer</a>)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:invisibleP" class="def">invisibleP</a> :: !<a href="Printer.html#t:Printer">Printer</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:hiddenP" class="def">hiddenP</a> :: !<a href="Printer.html#t:Printer">Printer</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:userchunkP" class="def">userchunkP</a> :: !<a href="Printer.html#t:Printer">Printer</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:defP" class="def">defP</a> :: !<a href="Printer.html#t:Printer">Printer</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:lineColorT" class="def">lineColorT</a> :: !(<a href="Printer.html#t:Color">Color</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a>)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:lineColorS" class="def">lineColorS</a> :: !([<a href="Printer.html#t:Printable">Printable</a>] -&gt; [<a href="Printer.html#t:Printable">Printable</a>])</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Printer" class="def">Printer</a> = <a href="Printer.html#t:Printable">Printable</a> -&gt; St -&gt; Document<a href="src/Printer.html#Printer" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Color" class="def">Color</a>  <a href="src/Printer.html#Color" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Blue" class="def">Blue</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Red" class="def">Red</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Green" class="def">Green</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Cyan" class="def">Cyan</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Magenta" class="def">Magenta</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div><div class="top"><p class="src"><a name="v:hPutDoc" class="def">hPutDoc</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#hPutDoc" class="link">Source</a></p><div class="doc"><p><code>hputDoc</code> puts a doc on the given handle using <code><a href="Printer.html#v:simplePrinters">simplePrinters</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:hPutDocLn" class="def">hPutDocLn</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#hPutDocLn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:putDoc" class="def">putDoc</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#putDoc" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:putDoc">putDoc</a></code> puts a doc on stdout using the simple printer <code><a href="Printer.html#v:simplePrinters">simplePrinters</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:putDocLn" class="def">putDocLn</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#putDocLn" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:putDocLn">putDocLn</a></code> puts a doc, followed by a newline on stdout using
 <code><a href="Printer.html#v:simplePrinters">simplePrinters</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:hPutDocWith" class="def">hPutDocWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#hPutDocWith" class="link">Source</a></p><div class="doc"><p><code>hputDocWith</code> puts a doc on the given handle using the given printer.
</p></div></div><div class="top"><p class="src"><a name="v:hPutDocLnWith" class="def">hPutDocLnWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#hPutDocLnWith" class="link">Source</a></p><div class="doc"><p><code>hputDocLnWith</code> puts a doc, followed by a newline on the given
 handle using the given printer.
</p></div></div><div class="top"><p class="src"><a name="v:putDocWith" class="def">putDocWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#putDocWith" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:putDocWith">putDocWith</a></code> puts a doc on stdout using the given printer.
</p></div></div><div class="top"><p class="src"><a name="v:putDocLnWith" class="def">putDocLnWith</a> :: <a href="Printer.html#t:Printers">Printers</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Printer.html#putDocLnWith" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:putDocLnWith">putDocLnWith</a></code> puts a doc, followed by a newline on stdout using
 the given printer.
</p></div></div><div class="top"><p class="src"><a name="v:renderString" class="def">renderString</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Printer.html#renderString" class="link">Source</a></p><div class="doc"><p>renders a <code><a href="Printer.html#t:Doc">Doc</a></code> into a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></code> with control codes for the
 special features of the doc.
</p></div></div><div class="top"><p class="src"><a name="v:renderStringWith" class="def">renderStringWith</a> :: <a href="Printer.html#t:Printers-39-">Printers'</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Printer.html#renderStringWith" class="link">Source</a></p><div class="doc"><p>renders a <code><a href="Printer.html#t:Doc">Doc</a></code> into a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></code> using a given set of printers.
</p></div></div><div class="top"><p class="src"><a name="v:renderPS" class="def">renderPS</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a><a href="src/Printer.html#renderPS" class="link">Source</a></p><div class="doc"><p>renders a <code><a href="Printer.html#t:Doc">Doc</a></code> into <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code> with control codes for the
 special features of the Doc. See also <code>readerString</code>.
</p></div></div><div class="top"><p class="src"><a name="v:renderPSWith" class="def">renderPSWith</a> :: <a href="Printer.html#t:Printers-39-">Printers'</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a><a href="src/Printer.html#renderPSWith" class="link">Source</a></p><div class="doc"><p>renders a doc into a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code> using a given set of printers.
</p></div></div><div class="top"><p class="src"><a name="v:renderPSs" class="def">renderPSs</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>]<a href="src/Printer.html#renderPSs" class="link">Source</a></p><div class="doc"><p>renders a <code><a href="Printer.html#t:Doc">Doc</a></code> into a list of <code>PackedStrings</code>, one for each line.
</p></div></div><div class="top"><p class="src"><a name="v:renderPSsWith" class="def">renderPSsWith</a> :: <a href="Printer.html#t:Printers-39-">Printers'</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; [<a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a>]<a href="src/Printer.html#renderPSsWith" class="link">Source</a></p><div class="doc"><p>renders a <code><a href="Printer.html#t:Doc">Doc</a></code> into a list of <code>PackedStrings</code>, one for each
 chunk of text that was added to the doc, using the given set of
 printers.
</p></div></div><div class="top"><p class="src"><a name="v:lineColor" class="def">lineColor</a> :: <a href="Printer.html#t:Color">Color</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#lineColor" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:prefix" class="def">prefix</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#prefix" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:insertBeforeLastline" class="def">insertBeforeLastline</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#insertBeforeLastline" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:colorText" class="def">colorText</a> :: <a href="Printer.html#t:Color">Color</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#colorText" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:colorText">colorText</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> containing colored text from a <code>String</code>
</p></div></div><div class="top"><p class="src"><a name="v:invisibleText" class="def">invisibleText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#invisibleText" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:invisibleText">invisibleText</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> containing invisible text from a <code>String</code>
</p></div></div><div class="top"><p class="src"><a name="v:hiddenText" class="def">hiddenText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#hiddenText" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:hiddenText">hiddenText</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> containing hidden text from a <code>String</code>
</p></div></div><div class="top"><p class="src"><a name="v:hiddenPrefix" class="def">hiddenPrefix</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#hiddenPrefix" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:userchunk" class="def">userchunk</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#userchunk" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:userchunk">userchunk</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> containing a user chunk from a <code>String</code>
</p></div></div><div class="top"><p class="src"><a name="v:text" class="def">text</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#text" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:text">text</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> from a <code>String</code>, using <code><a href="Printer.html#v:printable">printable</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:printable" class="def">printable</a> :: <a href="Printer.html#t:Printable">Printable</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#printable" class="link">Source</a></p><div class="doc"><p>'printable x' creates a <code><a href="Printer.html#t:Doc">Doc</a></code> from any <code><a href="Printer.html#t:Printable">Printable</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:wrapText" class="def">wrapText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#wrapText" class="link">Source</a></p><div class="doc"><p><code><code><a href="Printer.html#v:wrapText">wrapText</a></code> n s</code> is a <code><a href="Printer.html#t:Doc">Doc</a></code> representing <code>s</code> line-wrapped at <code>n</code> characters
</p></div></div><div class="top"><p class="src"><a name="v:blueText" class="def">blueText</a>, <a name="v:cyanText" class="def">cyanText</a>, <a name="v:magentaText" class="def">magentaText</a>, <a name="v:greenText" class="def">greenText</a>, <a name="v:redText" class="def">redText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#blueText" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:blueText">blueText</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> containing blue text from a <code>String</code>
</p></div></div><div class="top"><p class="src"><a name="v:unsafeText" class="def">unsafeText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#unsafeText" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:unsafeText">unsafeText</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> from a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></code>, using <code><a href="Printer.html#v:simplePrinter">simplePrinter</a></code> directly
</p></div></div><div class="top"><p class="src"><a name="v:unsafeBoth" class="def">unsafeBoth</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#unsafeBoth" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:unsafeBoth">unsafeBoth</a></code> builds a Doc from a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></code> and a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code> representing
 the same text, but does not check that they do.
</p></div></div><div class="top"><p class="src"><a name="v:unsafeBothText" class="def">unsafeBothText</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#unsafeBothText" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:unsafeBothText">unsafeBothText</a></code> builds a <code><a href="Printer.html#t:Doc">Doc</a></code> from a <code><a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></code>. The string is stored in the
 Doc as both a String and a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:unsafeChar" class="def">unsafeChar</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#unsafeChar" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:unsafeChar">unsafeChar</a></code> creates a Doc containing just one character.
</p></div></div><div class="top"><p class="src"><a name="v:invisiblePS" class="def">invisiblePS</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#invisiblePS" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:invisiblePS">invisiblePS</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> with invisible text from a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:packedString" class="def">packedString</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#packedString" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:packedString">packedString</a></code> builds a <code><a href="Printer.html#t:Doc">Doc</a></code> from a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code> using <code><a href="Printer.html#v:printable">printable</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:unsafePackedString" class="def">unsafePackedString</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#unsafePackedString" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:unsafePackedString">unsafePackedString</a></code> builds a <code><a href="Printer.html#t:Doc">Doc</a></code> from a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code> using <code><a href="Printer.html#v:simplePrinter">simplePrinter</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:userchunkPS" class="def">userchunkPS</a> :: <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#userchunkPS" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:userchunkPS">userchunkPS</a></code> creates a <code><a href="Printer.html#t:Doc">Doc</a></code> representing a user chunk from a <code><a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.2.1/Data-ByteString.html#t:ByteString">ByteString</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:simplePrinters" class="def">simplePrinters</a> :: <a href="Printer.html#t:Printers">Printers</a><a href="src/Printer.html#simplePrinters" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:simplePrinters">simplePrinters</a></code> is a <code><a href="Printer.html#t:Printers">Printers</a></code> which uses the set 'simplePriners\'' on any
 handle.
</p></div></div><div class="top"><p class="src"><a name="v:invisiblePrinter" class="def">invisiblePrinter</a> :: <a href="Printer.html#t:Printer">Printer</a><a href="src/Printer.html#invisiblePrinter" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:invisiblePrinter">invisiblePrinter</a></code> is the <code><a href="Printer.html#t:Printer">Printer</a></code> for hidden text. It just replaces
 the document with <code><a href="Printer.html#v:empty">empty</a></code>.  It's useful to have a printer that doesn't
 actually do anything because this allows you to have tunable policies,
 for example, only printing some text if it's to the terminal, but not
 if it's to a file or vice-versa.
</p></div></div><div class="top"><p class="src"><a name="v:simplePrinter" class="def">simplePrinter</a> :: <a href="Printer.html#t:Printer">Printer</a><a href="src/Printer.html#simplePrinter" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:simplePrinter">simplePrinter</a></code> is the simplest <code><a href="Printer.html#t:Printer">Printer</a></code>: it just concatenates together
 the pieces of the <code><a href="Printer.html#t:Doc">Doc</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:doc" class="def">doc</a> :: ([<a href="Printer.html#t:Printable">Printable</a>] -&gt; [<a href="Printer.html#t:Printable">Printable</a>]) -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#doc" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:empty" class="def">empty</a> :: <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#empty" class="link">Source</a></p><div class="doc"><p>The empty <code><a href="Printer.html#t:Doc">Doc</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:-60--62-" class="def">(&lt;&gt;)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#%3C%3E" class="link">Source</a></p><div class="doc"><p>'(<a href=""></a>)' is the concatenation operator for <code><a href="Printer.html#t:Doc">Doc</a></code>s
</p></div></div><div class="top"><p class="src"><a name="v:-60--63--62-" class="def">(&lt;?&gt;)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#%3C%3F%3E" class="link">Source</a></p><div class="doc"><p><code>a <code><a href="Printer.html#v:-60--63--62-">&lt;?&gt;</a></code> b</code> is <code>a <a href=""></a> b</code> if <code>a</code> is not empty, else empty.
</p></div></div><div class="top"><p class="src"><a name="v:-60--43--62-" class="def">(&lt;+&gt;)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#%3C%2B%3E" class="link">Source</a></p><div class="doc"><p><code>a <code><a href="Printer.html#v:-60--43--62-">&lt;+&gt;</a></code> b</code> is <code>a</code> followed by a space, then <code>b</code>.
</p></div></div><div class="top"><p class="src"><a name="v:-36--36-" class="def">($$)</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#%24%24" class="link">Source</a></p><div class="doc"><p><code>a <code><a href="Printer.html#v:-36--36-">$$</a></code> b</code> is <code>a</code> above <code>b</code>.
</p></div></div><div class="top"><p class="src"><a name="v:vcat" class="def">vcat</a> :: [<a href="Printer.html#t:Doc">Doc</a>] -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#vcat" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:vcat">vcat</a></code> piles vertically a list of <code><a href="Printer.html#t:Doc">Doc</a></code>s.
</p></div></div><div class="top"><p class="src"><a name="v:vsep" class="def">vsep</a> :: [<a href="Printer.html#t:Doc">Doc</a>] -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#vsep" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:vsep">vsep</a></code> piles vertically a list of <code><a href="Printer.html#t:Doc">Doc</a></code>s leaving a blank line between each.
</p></div></div><div class="top"><p class="src"><a name="v:hcat" class="def">hcat</a> :: [<a href="Printer.html#t:Doc">Doc</a>] -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#hcat" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:hcat">hcat</a></code> concatenates (horizontally) a list of <code><a href="Printer.html#t:Doc">Doc</a></code>s
</p></div></div><div class="top"><p class="src"><a name="v:space" class="def">space</a>, <a name="v:backslash" class="def">backslash</a>, <a name="v:minus" class="def">minus</a>, <a name="v:plus" class="def">plus</a>, <a name="v:newline" class="def">newline</a> :: <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#space" class="link">Source</a></p><div class="doc"><p>Minimal <code><a href="Printer.html#t:Doc">Doc</a></code>s representing the common characters <code><a href="Printer.html#v:space">space</a></code>, <code><a href="Printer.html#v:newline">newline</a></code>
 <code><a href="Printer.html#v:minus">minus</a></code>, <code><a href="Printer.html#v:plus">plus</a></code>, and <code><a href="Printer.html#v:backslash">backslash</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:lparen" class="def">lparen</a> :: <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#lparen" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:lparen">lparen</a></code> is the <code><a href="Printer.html#t:Doc">Doc</a></code> that represents <code>&quot;(&quot;</code>
</p></div></div><div class="top"><p class="src"><a name="v:rparen" class="def">rparen</a> :: <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#rparen" class="link">Source</a></p><div class="doc"><p><code><a href="Printer.html#v:rparen">rparen</a></code> is the <code><a href="Printer.html#t:Doc">Doc</a></code> that represents <code>&quot;)&quot;</code>
</p></div></div><div class="top"><p class="src"><a name="v:parens" class="def">parens</a> :: <a href="Printer.html#t:Doc">Doc</a> -&gt; <a href="Printer.html#t:Doc">Doc</a><a href="src/Printer.html#parens" class="link">Source</a></p><div class="doc"><p><code><code><a href="Printer.html#v:parens">parens</a></code> doc</code> returns a <code><a href="Printer.html#t:Doc">Doc</a></code> with the content of <code>doc</code> put within
 a pair of parenthesis.
</p></div></div><div class="top"><p class="src"><a name="v:errorDoc" class="def">errorDoc</a> ::  <a href="Printer.html#t:Doc">Doc</a> -&gt; a<a href="src/Printer.html#errorDoc" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>