/usr/share/doc/libghc-deriving-compat-doc/html/Text-Read-Deriving.html is in libghc-deriving-compat-doc 0.3.4-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <!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>Text.Read.Deriving</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Text-Read-Deriving.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Text-Read-Deriving.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">deriving-compat-0.3.4: Backports of GHC deriving extensions</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(C) 2015-2016 Ryan Scott</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>Ryan Scott</td></tr><tr><th>Portability</th><td>Template Haskell</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Text.Read.Deriving</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1"><code>Read</code></a></li><li><a href="#g:2"><code>Read1</code></a></li><li><a href="#g:3"><code>Read2</code></a></li><li><a href="#g:4"><code>ReadOptions</code></a></li><li><a href="#g:5"><code>deriveRead</code> limitations</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Exports functions to mechanically derive <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code>, <code>Read1</code>, and <code>Read2</code> instances.</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"><a href="#v:deriveRead">deriveRead</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>]</li><li class="src short"><a href="#v:deriveReadOptions">deriveReadOptions</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>]</li><li class="src short"><a href="#v:makeReadsPrec">makeReadsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:makeReadPrec">makeReadPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:deriveRead1">deriveRead1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>]</li><li class="src short"><a href="#v:deriveRead1Options">deriveRead1Options</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>]</li><li class="src short"><a href="#v:makeLiftReadsPrec">makeLiftReadsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:makeReadsPrec1">makeReadsPrec1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:deriveRead2">deriveRead2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>]</li><li class="src short"><a href="#v:deriveRead2Options">deriveRead2Options</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>]</li><li class="src short"><a href="#v:makeLiftReadsPrec2">makeLiftReadsPrec2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:makeReadsPrec2">makeReadsPrec2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ReadOptions">ReadOptions</a> = <a href="#v:ReadOptions">ReadOptions</a> {<ul class="subs"><li><a href="#v:useReadPrec">useReadPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><a href="#v:defaultReadOptions">defaultReadOptions</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></li></ul></div><div id="interface"><h1 id="g:1"><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code></h1><div class="top"><p class="src"><a id="v:deriveRead" class="def">deriveRead</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>] <a href="src/Text-Read-Deriving-Internal.html#deriveRead" class="link">Source</a> <a href="#v:deriveRead" class="selflink">#</a></p><div class="doc"><p>Generates a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code> instance declaration for the given data type or data
family instance.</p></div></div><div class="top"><p class="src"><a id="v:deriveReadOptions" class="def">deriveReadOptions</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>] <a href="src/Text-Read-Deriving-Internal.html#deriveReadOptions" class="link">Source</a> <a href="#v:deriveReadOptions" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Text-Read-Deriving.html#v:deriveRead">deriveRead</a></code>, but takes a <code><a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></code> argument.</p></div></div><div class="top"><p class="src"><a id="v:makeReadsPrec" class="def">makeReadsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a> <a href="src/Text-Read-Deriving-Internal.html#makeReadsPrec" class="link">Source</a> <a href="#v:makeReadsPrec" class="selflink">#</a></p><div class="doc"><p>Generates a lambda expression which behaves like <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#v:readsPrec">readsPrec</a></code> (without
requiring a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code> instance).</p></div></div><div class="top"><p class="src"><a id="v:makeReadPrec" class="def">makeReadPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a> <a href="src/Text-Read-Deriving-Internal.html#makeReadPrec" class="link">Source</a> <a href="#v:makeReadPrec" class="selflink">#</a></p><div class="doc"><p>Generates a lambda expression which behaves like <code>readPrec</code> (without
requiring a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code> instance).</p></div></div><h1 id="g:2"><code>Read1</code></h1><div class="top"><p class="src"><a id="v:deriveRead1" class="def">deriveRead1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>] <a href="src/Text-Read-Deriving-Internal.html#deriveRead1" class="link">Source</a> <a href="#v:deriveRead1" class="selflink">#</a></p><div class="doc"><p>Generates a <code>Read1</code> instance declaration for the given data type or data
family instance.</p></div></div><div class="top"><p class="src"><a id="v:deriveRead1Options" class="def">deriveRead1Options</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>] <a href="src/Text-Read-Deriving-Internal.html#deriveRead1Options" class="link">Source</a> <a href="#v:deriveRead1Options" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Text-Read-Deriving.html#v:deriveRead1">deriveRead1</a></code>, but takes a <code><a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></code> argument.</p></div></div><div class="top"><p class="src"><a id="v:makeLiftReadsPrec" class="def">makeLiftReadsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a> <a href="src/Text-Read-Deriving-Internal.html#makeLiftReadsPrec" class="link">Source</a> <a href="#v:makeLiftReadsPrec" class="selflink">#</a></p><div class="doc"><p>Generates a lambda expression which behaves like <code>liftReadsPrec</code> (without
requiring a <code>Read1</code> instance).</p><p>This function is not available with <code>transformers-0.4</code>.</p></div></div><div class="top"><p class="src"><a id="v:makeReadsPrec1" class="def">makeReadsPrec1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a> <a href="src/Text-Read-Deriving-Internal.html#makeReadsPrec1" class="link">Source</a> <a href="#v:makeReadsPrec1" class="selflink">#</a></p><div class="doc"><p>Generates a lambda expression which behaves like <code>readsPrec1</code> (without
requiring a <code>Read1</code> instance).</p></div></div><h1 id="g:3"><code>Read2</code></h1><div class="top"><p class="src"><a id="v:deriveRead2" class="def">deriveRead2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>] <a href="src/Text-Read-Deriving-Internal.html#deriveRead2" class="link">Source</a> <a href="#v:deriveRead2" class="selflink">#</a></p><div class="doc"><p>Generates a <code>Read2</code> instance declaration for the given data type or data
family instance.</p><p>This function is not available with <code>transformers-0.4</code>.</p></div></div><div class="top"><p class="src"><a id="v:deriveRead2Options" class="def">deriveRead2Options</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Dec">Dec</a>] <a href="src/Text-Read-Deriving-Internal.html#deriveRead2Options" class="link">Source</a> <a href="#v:deriveRead2Options" class="selflink">#</a></p><div class="doc"><p>Like <code><a href="Text-Read-Deriving.html#v:deriveRead2">deriveRead2</a></code>, but takes a <code><a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></code> argument.</p><p>This function is not available with <code>transformers-0.4</code>.</p></div></div><div class="top"><p class="src"><a id="v:makeLiftReadsPrec2" class="def">makeLiftReadsPrec2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a> <a href="src/Text-Read-Deriving-Internal.html#makeLiftReadsPrec2" class="link">Source</a> <a href="#v:makeLiftReadsPrec2" class="selflink">#</a></p><div class="doc"><p>Generates a lambda expression which behaves like <code>liftReadsPrec2</code> (without
requiring a <code>Read2</code> instance).</p><p>This function is not available with <code>transformers-0.4</code>.</p></div></div><div class="top"><p class="src"><a id="v:makeReadsPrec2" class="def">makeReadsPrec2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Name">Name</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Q">Q</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/template-haskell-2.11.0.0/Language-Haskell-TH-Syntax.html#t:Exp">Exp</a> <a href="src/Text-Read-Deriving-Internal.html#makeReadsPrec2" class="link">Source</a> <a href="#v:makeReadsPrec2" class="selflink">#</a></p><div class="doc"><p>Generates a lambda expression which behaves like <code>readsPrec2</code> (without
requiring a <code>Read2</code> instance).</p><p>This function is not available with <code>transformers-0.4</code>.</p></div></div><h1 id="g:4"><code><a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></code></h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ReadOptions" class="def">ReadOptions</a> <a href="src/Text-Read-Deriving-Internal.html#ReadOptions" class="link">Source</a> <a href="#t:ReadOptions" class="selflink">#</a></p><div class="doc"><p>Options that further configure how the functions in <a href="Text-Read-Deriving.html">Text.Read.Deriving</a>
should behave.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ReadOptions" class="def">ReadOptions</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:useReadPrec" class="def">useReadPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a></dfn><div class="doc"><p>If <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#v:True">True</a></code>:</p><ul><li>Derived <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code> instances will implement <code>readPrec</code>, not <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#v:readsPrec">readsPrec</a></code>, and
will provide a default implementation of <code>readListPrec</code> in terms of
<code>readPrec</code>.</li><li>If built against <code>base-4.10</code> or later, derived 'Read1'/'Read2'
instances will implement 'liftReadPrec'/'liftReadPrec2', not
'liftReadsPrec'/'liftReadsPrec2', and will provide default implementations
of 'liftReadListPrec'/'liftReadListPrec2' in terms of
'liftReadPrec'/'liftReadPrec2'. If built against an earlier version of
<code>base</code>, derived 'Read1'/'Read2' instances are not affected, so they will
act as if this flag were <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#v:False">False</a></code>.</li></ul><p>If <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#v:False">False</a></code>:</p><ul><li>Derived <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code> instances will implement <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#v:readsPrec">readsPrec</a></code>.</li><li>Derived <code>Read1</code> instances will implement <code>readsPrec1</code> (if built against
<code>transformers-0.4</code>) or <code>liftReadsPrec</code> (otherwise). If not built against
<code>transformers-0.4</code>, derived <code>Read2</code> instances will implement
<code>liftReadsPrec2</code>.</li></ul><p>It's generally a good idea to enable this option, since <code>readPrec</code> and
friends are more efficient than <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#v:readsPrec">readsPrec</a></code> and friends, since the former
use the efficient <code>ReadPrec</code> parser datatype while the latter use the
slower, list-based <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a></code> type.</p></div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:ReadOptions" class="caption collapser" onclick="toggleSection('i:ReadOptions')">Instances</p><div id="section.i:ReadOptions" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReadOptions:Eq:1" class="instance expander" onclick="toggleSection('i:id:ReadOptions:Eq:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></span> <a href="src/Text-Read-Deriving-Internal.html#line-112" class="link">Source</a> <a href="#t:ReadOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReadOptions:Eq:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-61--61-">(==)</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-61--61-" class="selflink">#</a></p><p class="src"><a href="#v:-47--61-">(/=)</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-47--61-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReadOptions:Ord:2" class="instance expander" onclick="toggleSection('i:id:ReadOptions:Ord:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ord">Ord</a> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></span> <a href="src/Text-Read-Deriving-Internal.html#line-112" class="link">Source</a> <a href="#t:ReadOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReadOptions:Ord:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:compare">compare</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Ord.html#t:Ordering">Ordering</a> <a href="#v:compare" class="selflink">#</a></p><p class="src"><a href="#v:-60-">(<)</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60-" class="selflink">#</a></p><p class="src"><a href="#v:-60--61-">(<=)</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-60--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62-">(>)</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62-" class="selflink">#</a></p><p class="src"><a href="#v:-62--61-">(>=)</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a> <a href="#v:-62--61-" class="selflink">#</a></p><p class="src"><a href="#v:max">max</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> <a href="#v:max" class="selflink">#</a></p><p class="src"><a href="#v:min">min</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> <a href="#v:min" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReadOptions:Read:3" class="instance expander" onclick="toggleSection('i:id:ReadOptions:Read:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></span> <a href="src/Text-Read-Deriving-Internal.html#line-112" class="link">Source</a> <a href="#t:ReadOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReadOptions:Read:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:readsPrec">readsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> <a href="#v:readsPrec" class="selflink">#</a></p><p class="src"><a href="#v:readList">readList</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadP.html#t:ReadS">ReadS</a> [<a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a>] <a href="#v:readList" class="selflink">#</a></p><p class="src"><a href="#v:readPrec">readPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> <a href="#v:readPrec" class="selflink">#</a></p><p class="src"><a href="#v:readListPrec">readListPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-ParserCombinators-ReadPrec.html#t:ReadPrec">ReadPrec</a> [<a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a>] <a href="#v:readListPrec" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ReadOptions:Show:4" class="instance expander" onclick="toggleSection('i:id:ReadOptions:Show:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:Show">Show</a> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></span> <a href="src/Text-Read-Deriving-Internal.html#line-112" class="link">Source</a> <a href="#t:ReadOptions" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ReadOptions:Show:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:showsPrec">showsPrec</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a> -> <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showsPrec" class="selflink">#</a></p><p class="src"><a href="#v:show">show</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a> <a href="#v:show" class="selflink">#</a></p><p class="src"><a href="#v:showList">showList</a> :: [<a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a>] -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Show.html#t:ShowS">ShowS</a> <a href="#v:showList" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:defaultReadOptions" class="def">defaultReadOptions</a> :: <a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a> <a href="src/Text-Read-Deriving-Internal.html#defaultReadOptions" class="link">Source</a> <a href="#v:defaultReadOptions" class="selflink">#</a></p><div class="doc"><p><code><a href="Text-Read-Deriving.html#t:ReadOptions">ReadOptions</a></code> that favor <code>readPrec</code> over <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#v:readsPrec">readsPrec</a></code>.</p></div></div><h1 id="g:5"><code><a href="Text-Read-Deriving.html#v:deriveRead">deriveRead</a></code> limitations</h1><div class="doc"><p>Be aware of the following potential gotchas:</p><ul><li>Type variables of kind <code>*</code> are assumed to have <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Text-Read.html#t:Read">Read</a></code> constraints.
Type variables of kind <code>* -> *</code> are assumed to have <code>Read1</code> constraints.
Type variables of kind <code>* -> * -> *</code> are assumed to have <code>Read2</code> constraints.
If this is not desirable, use <code><a href="Text-Read-Deriving.html#v:makeReadsPrec">makeReadsPrec</a></code> or one of its cousins.</li><li>The <code>Read1</code> class had a different definition in <code>transformers-0.4</code>, and as a result,
<code><a href="Text-Read-Deriving.html#v:deriveRead1">deriveRead1</a></code> implements different instances for the <code>transformers-0.4</code> <code>Read1</code> than
it otherwise does. Also, <code><a href="Text-Read-Deriving.html#v:makeLiftReadsPrec">makeLiftReadsPrec</a></code> and <code>makeLiftReadList</code> are not available
when this library is built against <code>transformers-0.4</code>, only 'makeReadsPrec1.</li><li>The <code>Read2</code> class is not available in <code>transformers-0.4</code>, and as a
result, neither are Template Haskell functions that deal with <code>Read2</code> when this
library is built against <code>transformers-0.4</code>.</li><li>The <code>Read1</code> and <code>Read2</code> classes have new methods ('liftReadPrec'/'liftReadListPrec'
and 'liftReadPrec2'/'liftReadListPrec2', respectively) that were introduced in
<code>base-4.10</code>. For now, these methods are only defined when deriving 'Read1'/'Read2'
if built against <code>base-4.10</code> (until <code>transformers-compat</code> catches up), and
the corresponding <code>make-</code> functions are also only available when built against
<code>base-4.10</code>.</li></ul></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.2</p></div></body></html>
|