Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 2876

ghc-7.4.2-4.mga5.i586.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>FastString</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_FastString.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">FastString</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">FastStrings
</a><ul><li><a href="#g:2">Construction
</a></li><li><a href="#g:3">Deconstruction
</a></li><li><a href="#g:4">Encoding
</a></li><li><a href="#g:5">Operations
</a></li><li><a href="#g:6">Outputing
</a></li><li><a href="#g:7">Internal
</a></li></ul></li><li><a href="#g:8">LitStrings
</a><ul><li><a href="#g:9">Construction
</a></li><li><a href="#g:10">Deconstruction
</a></li><li><a href="#g:11">Operations
</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>There are two principal string types used internally by GHC:
</p><p><code><a href="FastString.html#t:FastString">FastString</a></code>:
               * A compact, hash-consed, representation of character strings.
               * Comparison is O(1), and you can get a <code><a href="Unique.html#t:Unique">Unique</a></code> from them.
               * Generated by <code><a href="FastString.html#v:fsLit">fsLit</a></code>.
               * Turn into <code><a href="Outputable.html#t:SDoc">SDoc</a></code> with <code><a href="Outputable.html#v:ftext">ftext</a></code>.
</p><p><code><a href="FastString.html#t:LitString">LitString</a></code>:
               * Just a wrapper for the <code>Addr#</code> of a C string (<code>Ptr CChar</code>).
               * Practically no operations.
               * Outputing them is fast.
               * Generated by <code><a href="FastString.html#v:sLit">sLit</a></code>.
               * Turn into <code><a href="Outputable.html#t:SDoc">SDoc</a></code> with <code><a href="Outputable.html#v:ptext">ptext</a></code>
</p><p>Use <code><a href="FastString.html#t:LitString">LitString</a></code> unless you want the facilities of <code><a href="FastString.html#t:FastString">FastString</a></code>.
</p></div></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:FastString">FastString</a>  = <a href="#v:FastString">FastString</a> {<ul class="subs"><li><a href="#v:uniq">uniq</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:n_bytes">n_bytes</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:n_chars">n_chars</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:buf">buf</a> :: !(<a href="../base-4.5.1.0/Foreign-ForeignPtr-Safe.html#t:ForeignPtr">ForeignPtr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>)</li><li><a href="#v:enc">enc</a> :: FSEncoding</li></ul>}</li><li class="src short"><a href="#v:fsLit">fsLit</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkFastString">mkFastString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkFastStringBytes">mkFastStringBytes</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkFastStringByteList">mkFastStringByteList</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>] -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkFastStringForeignPtr">mkFastStringForeignPtr</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Foreign-ForeignPtr-Safe.html#t:ForeignPtr">ForeignPtr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkFastString-35-">mkFastString#</a> :: Addr# -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkZFastString">mkZFastString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:mkZFastStringBytes">mkZFastStringBytes</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:unpackFS">unpackFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:bytesFS">bytesFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>]</li><li class="src short"><a href="#v:isZEncoded">isZEncoded</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:zEncodeFS">zEncodeFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:uniqueOfFS">uniqueOfFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastTypes.html#t:FastInt">FastInt</a></li><li class="src short"><a href="#v:lengthFS">lengthFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:nullFS">nullFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:appendFS">appendFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:headFS">headFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:tailFS">tailFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:concatFS">concatFS</a> :: [<a href="FastString.html#t:FastString">FastString</a>] -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:consFS">consFS</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:nilFS">nilFS</a> :: <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:hPutFS">hPutFS</a> :: <a href="../base-4.5.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:getFastStringTable">getFastStringTable</a> :: <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> [[<a href="FastString.html#t:FastString">FastString</a>]]</li><li class="src short"><a href="#v:hasZEncoding">hasZEncoding</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:LitString">LitString</a> = <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a></li><li class="src short"><a href="#v:sLit">sLit</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:LitString">LitString</a></li><li class="src short"><a href="#v:mkLitString-35-">mkLitString#</a> :: Addr# -&gt; <a href="FastString.html#t:LitString">LitString</a></li><li class="src short"><a href="#v:mkLitString">mkLitString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:LitString">LitString</a></li><li class="src short"><a href="#v:unpackLitString">unpackLitString</a> :: <a href="FastString.html#t:LitString">LitString</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:lengthLS">lengthLS</a> :: <a href="FastString.html#t:LitString">LitString</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li></ul></div><div id="interface"><h1 id="g:1">FastStrings
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:FastString" class="def">FastString</a>  </p><div class="doc"><p>A <code><a href="FastString.html#t:FastString">FastString</a></code> is an array of bytes, hashed to support fast O(1)
comparison.  It is also associated with a character encoding, so that
we know how to convert a <code><a href="FastString.html#t:FastString">FastString</a></code> to the local encoding, or to the
Z-encoding used by the compiler internally.
</p><p><code><a href="FastString.html#t:FastString">FastString</a></code>s support a memoized conversion to the Z-encoding via zEncodeFS.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FastString" class="def">FastString</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:uniq" class="def">uniq</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:n_bytes" class="def">n_bytes</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:n_chars" class="def">n_chars</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:buf" class="def">buf</a> :: !(<a href="../base-4.5.1.0/Foreign-ForeignPtr-Safe.html#t:ForeignPtr">ForeignPtr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:enc" class="def">enc</a> :: FSEncoding</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:FastString" class="caption collapser" onclick="toggleSection('i:FastString')">Instances</p><div id="section.i:FastString" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Unique.html#t:Uniquable">Uniquable</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:2">Construction
</h2><div class="top"><p class="src"><a name="v:fsLit" class="def">fsLit</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:mkFastString" class="def">mkFastString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p><div class="doc"><p>Creates a UTF-8 encoded <code><a href="FastString.html#t:FastString">FastString</a></code> from a <code><a href="../base-4.5.1.0/Data-String.html#t:String">String</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:mkFastStringBytes" class="def">mkFastStringBytes</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:mkFastStringByteList" class="def">mkFastStringByteList</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>] -&gt; <a href="FastString.html#t:FastString">FastString</a></p><div class="doc"><p>Creates a <code><a href="FastString.html#t:FastString">FastString</a></code> from a UTF-8 encoded <code>[Word8]</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkFastStringForeignPtr" class="def">mkFastStringForeignPtr</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Foreign-ForeignPtr-Safe.html#t:ForeignPtr">ForeignPtr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="FastString.html#t:FastString">FastString</a></p><div class="doc"><p>Create a <code><a href="FastString.html#t:FastString">FastString</a></code> from an existing <code><a href="../base-4.5.1.0/Foreign-ForeignPtr-Safe.html#t:ForeignPtr">ForeignPtr</a></code>; the difference
 between this and <code><a href="FastString.html#v:mkFastStringBytes">mkFastStringBytes</a></code> is that we don't have to copy
 the bytes if the string is new to the table.
</p></div></div><div class="top"><p class="src"><a name="v:mkFastString-35-" class="def">mkFastString#</a> :: Addr# -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:mkZFastString" class="def">mkZFastString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p><div class="doc"><p>Creates a Z-encoded <code><a href="FastString.html#t:FastString">FastString</a></code> from a <code><a href="../base-4.5.1.0/Data-String.html#t:String">String</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:mkZFastStringBytes" class="def">mkZFastStringBytes</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><h2 id="g:3">Deconstruction
</h2><div class="top"><p class="src"><a name="v:unpackFS" class="def">unpackFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Unpacks and decodes the FastString
</p></div></div><div class="top"><p class="src"><a name="v:bytesFS" class="def">bytesFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a>]</p><div class="doc"><p>Gives the UTF-8 encoded bytes corresponding to a <code><a href="FastString.html#t:FastString">FastString</a></code>
</p></div></div><h2 id="g:4">Encoding
</h2><div class="top"><p class="src"><a name="v:isZEncoded" class="def">isZEncoded</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Returns <code>True</code> if the <code><a href="FastString.html#t:FastString">FastString</a></code> is Z-encoded
</p></div></div><div class="top"><p class="src"><a name="v:zEncodeFS" class="def">zEncodeFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p><div class="doc"><p>Returns a Z-encoded version of a <code><a href="FastString.html#t:FastString">FastString</a></code>.  This might be the
 original, if it was already Z-encoded.  The first time this
 function is applied to a particular <code><a href="FastString.html#t:FastString">FastString</a></code>, the results are
 memoized.
</p></div></div><h2 id="g:5">Operations
</h2><div class="top"><p class="src"><a name="v:uniqueOfFS" class="def">uniqueOfFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastTypes.html#t:FastInt">FastInt</a></p></div><div class="top"><p class="src"><a name="v:lengthFS" class="def">lengthFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p><div class="doc"><p>Returns the length of the <code><a href="FastString.html#t:FastString">FastString</a></code> in characters
</p></div></div><div class="top"><p class="src"><a name="v:nullFS" class="def">nullFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Returns <code>True</code> if the <code><a href="FastString.html#t:FastString">FastString</a></code> is empty
</p></div></div><div class="top"><p class="src"><a name="v:appendFS" class="def">appendFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:headFS" class="def">headFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a></p></div><div class="top"><p class="src"><a name="v:tailFS" class="def">tailFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:concatFS" class="def">concatFS</a> :: [<a href="FastString.html#t:FastString">FastString</a>] -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:consFS" class="def">consFS</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:nilFS" class="def">nilFS</a> :: <a href="FastString.html#t:FastString">FastString</a></p></div><h2 id="g:6">Outputing
</h2><div class="top"><p class="src"><a name="v:hPutFS" class="def">hPutFS</a> :: <a href="../base-4.5.1.0/GHC-IO-Handle.html#t:Handle">Handle</a> -&gt; <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Outputs a <code><a href="FastString.html#t:FastString">FastString</a></code> with <em>no decoding at all</em>, that is, you
 get the actual bytes in the <code><a href="FastString.html#t:FastString">FastString</a></code> written to the <code><a href="../base-4.5.1.0/GHC-IO-Handle.html#t:Handle">Handle</a></code>.
</p></div></div><h2 id="g:7">Internal
</h2><div class="top"><p class="src"><a name="v:getFastStringTable" class="def">getFastStringTable</a> :: <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> [[<a href="FastString.html#t:FastString">FastString</a>]]</p></div><div class="top"><p class="src"><a name="v:hasZEncoding" class="def">hasZEncoding</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Returns <code>True</code> if this <code><a href="FastString.html#t:FastString">FastString</a></code> is not Z-encoded but already has
 a Z-encoding cached (used in producing stats).
</p></div></div><h1 id="g:8">LitStrings
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LitString" class="def">LitString</a> = <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a></p></div><h2 id="g:9">Construction
</h2><div class="top"><p class="src"><a name="v:sLit" class="def">sLit</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:LitString">LitString</a></p></div><div class="top"><p class="src"><a name="v:mkLitString-35-" class="def">mkLitString#</a> :: Addr# -&gt; <a href="FastString.html#t:LitString">LitString</a></p></div><div class="top"><p class="src"><a name="v:mkLitString" class="def">mkLitString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="FastString.html#t:LitString">LitString</a></p></div><h2 id="g:10">Deconstruction
</h2><div class="top"><p class="src"><a name="v:unpackLitString" class="def">unpackLitString</a> :: <a href="FastString.html#t:LitString">LitString</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><h2 id="g:11">Operations
</h2><div class="top"><p class="src"><a name="v:lengthLS" class="def">lengthLS</a> :: <a href="FastString.html#t:LitString">LitString</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>