This file is indexed.

/usr/share/doc/haskell-haskelldb-doc/html/Database-HaskellDB-HDBRec.html is in libghc-haskelldb-doc 2.1.1-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
42
43
44
45
46
47
<!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>Database.HaskellDB.HDBRec</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_Database-HaskellDB-HDBRec.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Database-HaskellDB-HDBRec.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">haskelldb-2.1.1: A library of combinators for generating and executing SQL statements.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>haskelldb-users@lists.sourceforge.net</td></tr><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Database.HaskellDB.HDBRec</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Record types
</a></li><li><a href="#g:2">Record construction
</a></li><li><a href="#g:3">Labels
</a></li><li><a href="#g:4">Record predicates and operations
</a></li><li><a href="#g:5">Showing and reading records
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is a replacement for some of TREX.
</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:RecNil">RecNil</a>  = <a href="#v:RecNil">RecNil</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:RecCons">RecCons</a> f a b = <a href="#v:RecCons">RecCons</a> a b</li><li class="src short"><span class="keyword">type</span> <a href="#t:Record">Record</a> r = <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> -&gt; r</li><li class="src short"><a href="#v:emptyRecord">emptyRecord</a> :: <a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></li><li class="src short"><a href="#v:.-61-.">(.=.)</a> ::  l f a -&gt; a -&gt; <a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</li><li class="src short"><a href="#v:-35-">(#)</a> ::  <a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>) -&gt; (b -&gt; c) -&gt; b -&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a c</li><li class="src short"><span class="keyword">class</span>  <a href="#t:FieldTag">FieldTag</a> f  <span class="keyword">where</span><ul class="subs"><li><a href="#v:fieldName">fieldName</a> :: f -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:HasField">HasField</a> f r </li><li class="src short"><span class="keyword">class</span>  <a href="#t:Select">Select</a> f r a | f r -&gt; a <span class="keyword">where</span><ul class="subs"><li><a href="#v:-33-">(!)</a> :: r -&gt; f -&gt; a</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:SetField">SetField</a> f r a </li><li class="src short"><a href="#v:setField">setField</a> :: <a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f r a =&gt; l f a -&gt; a -&gt; r -&gt; r</li><li class="src short"><span class="keyword">class</span>  <a href="#t:RecCat">RecCat</a> r1 r2 r3 | r1 r2 -&gt; r3 <span class="keyword">where</span><ul class="subs"><li><a href="#v:recCat">recCat</a> :: r1 -&gt; r2 -&gt; r3</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:ShowLabels">ShowLabels</a> r  <span class="keyword">where</span><ul class="subs"><li><a href="#v:recordLabels">recordLabels</a> :: r -&gt; [<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>]</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:ShowRecRow">ShowRecRow</a> r  <span class="keyword">where</span><ul class="subs"><li><a href="#v:showRecRow">showRecRow</a> :: r -&gt; [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:ShowS">ShowS</a>)]</li></ul></li><li class="src short"><span class="keyword">class</span>  <a href="#t:ReadRecRow">ReadRecRow</a> r  <span class="keyword">where</span><ul class="subs"><li><a href="#v:readRecRow">readRecRow</a> :: [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)] -&gt; [(r, [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)])]</li></ul></li></ul></div><div id="interface"><h1 id="g:1">Record types
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:RecNil" class="def">RecNil</a>  <a href="src/Database-HaskellDB-HDBRec.html#RecNil" class="link">Source</a></p><div class="doc"><p>The empty record.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RecNil" class="def">RecNil</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:RecNil" class="caption collapser" onclick="toggleSection('i:RecNil')">Instances</p><div id="section.i:RecNil" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> r r</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f r a =&gt; <a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">SelectField f r a =&gt; SelectField f (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> r =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> r =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> r =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> r =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> r =&gt; <a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> r cr =&gt; <a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> cr)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> r1 r2 r3 =&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r1) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r2) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r3)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">SelectField f r a =&gt; <a href="Database-HaskellDB-HDBRec.html#t:Select">Select</a> (l f a) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r) a</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:RecCons" class="def">RecCons</a> f a b <a href="src/Database-HaskellDB-HDBRec.html#RecCons" class="link">Source</a></p><div class="doc"><p>Constructor that adds a field to a record.
 f is the field tag, a is the field value and b is the rest of the record.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RecCons" class="def">RecCons</a> a b</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:RecCons" class="caption collapser" onclick="toggleSection('i:RecCons')">Instances</p><div id="section.i:RecCons" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> g a r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f r a =&gt; <a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> g b r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">SelectField f r a =&gt; SelectField f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> g b r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">SelectField f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> b) =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a b)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> b) =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a b)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> b, <a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> c) =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> a b c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> b, <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> c) =&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> a b c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> b, <a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> c) =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> a b c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> b, <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> c) =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> a b c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> f, <a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> r) =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:ExprC">ExprC</a> e, <a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> r) =&gt; <a href="Database-HaskellDB-Query.html#t:ToPrimExprs">ToPrimExprs</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> l (e a) r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> rest, <a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> f) =&gt; <a href="Database-HaskellDB-Query.html#t:RelToRec">RelToRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB-Query.html#t:Expr">Expr</a> a) rest)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-FieldType.html#t:ExprType">ExprType</a> e, <a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> r) =&gt; <a href="Database-HaskellDB-FieldType.html#t:ExprTypes">ExprTypes</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f e r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> r1 r2 r3 =&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r1) r2 (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r3)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:ShowConstant">ShowConstant</a> a, <a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> r cr) =&gt; <a href="Database-HaskellDB-Query.html#t:ConstantRecord">ConstantRecord</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB-Query.html#t:Expr">Expr</a> a) cr)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Query.html#t:ProjectExpr">ProjectExpr</a> e, <a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> r er) =&gt; <a href="Database-HaskellDB-Query.html#t:ProjectRec">ProjectRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (e a) r) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB-Query.html#t:Expr">Expr</a> a) er)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(InsertExpr e, <a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> r er) =&gt; <a href="Database-HaskellDB-Query.html#t:InsertRec">InsertRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (e a) r) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB-Query.html#t:Expr">Expr</a> a) er)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-Database.html#t:GetValue">GetValue</a> a, <a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> er vr) =&gt; <a href="Database-HaskellDB-Database.html#t:GetRec">GetRec</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f (<a href="Database-HaskellDB-Query.html#t:Expr">Expr</a> a) er) (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a vr)</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:Record" class="def">Record</a> r = <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> -&gt; r<a href="src/Database-HaskellDB-HDBRec.html#Record" class="link">Source</a></p><div class="doc"><p>The type used for records. This is a function
   that takes a <code><a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></code> so that the user does not have to 
   put a <code><a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></code> at the end of every record.
</p></div></div><h1 id="g:2">Record construction
</h1><div class="top"><p class="src"><a name="v:emptyRecord" class="def">emptyRecord</a> :: <a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a><a href="src/Database-HaskellDB-HDBRec.html#emptyRecord" class="link">Source</a></p><div class="doc"><p>The empty record
</p></div></div><div class="top"><p class="src"><a name="v:.-61-." class="def">(.=.)</a><a href="src/Database-HaskellDB-HDBRec.html#.%3D." class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: l f a</td><td class="doc"><p>Label
</p></td></tr><tr><td class="src">-&gt; a</td><td class="doc"><p>Value
</p></td></tr><tr><td class="src">-&gt; <a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</td><td class="doc"><p>New record
</p></td></tr></table></div><div class="doc"><p>Creates one-field record from a label and a value
</p></div></div><div class="top"><p class="src"><a name="v:-35-" class="def">(#)</a><a href="src/Database-HaskellDB-HDBRec.html#%23" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a>)</td><td class="doc"><p>Field to add
</p></td></tr><tr><td class="src">-&gt; (b -&gt; c)</td><td class="doc"><p>Rest of record
</p></td></tr><tr><td class="src">-&gt; b -&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a c</td><td class="doc"><p>New record
</p></td></tr></table></div><div class="doc"><p>Adds the field from a one-field record to another record.
</p></div></div><h1 id="g:3">Labels
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:FieldTag" class="def">FieldTag</a> f  <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#FieldTag" class="link">Source</a></p><div class="doc"><p>Class for field labels.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:fieldName" class="def">fieldName</a> :: f -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a><a href="src/Database-HaskellDB-HDBRec.html#fieldName" class="link">Source</a></p><div class="doc"><p>Gets the name of the label.
</p></div></div></div><h1 id="g:4">Record predicates and operations
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:HasField" class="def">HasField</a> f r <a href="src/Database-HaskellDB-HDBRec.html#HasField" class="link">Source</a></p><div class="doc"><p>The record <code>r</code> has the field <code>f</code> if there is an instance of
   <code>HasField f r</code>.
</p></div><div class="subs instances"><p id="control.i:HasField" class="caption collapser" onclick="toggleSection('i:HasField')">Instances</p><div id="section.i:HasField" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> g a r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Select" class="def">Select</a> f r a | f r -&gt; a <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#Select" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:-33-" class="def">(!)</a> :: r -&gt; f -&gt; a<a href="src/Database-HaskellDB-HDBRec.html#%21" class="link">Source</a></p><div class="doc"><p>Field selection operator. It is overloaded so that
   users (read HaskellDB) can redefine it for things
   with phantom record types.
</p></div></div><div class="subs instances"><p id="control.i:Select" class="caption collapser" onclick="toggleSection('i:Select')">Instances</p><div id="section.i:Select" class="show"><table><tr><td class="src">SelectField f r a =&gt; <a href="Database-HaskellDB-HDBRec.html#t:Select">Select</a> (l f a) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:HasField">HasField</a> f r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:Select">Select</a> (<a href="Database-HaskellDB-Query.html#t:Attr">Attr</a> f a) (<a href="Database-HaskellDB-Query.html#t:Rel">Rel</a> r) (<a href="Database-HaskellDB-Query.html#t:Expr">Expr</a> a)</td><td class="doc"><p>Field selection operator. It is overloaded to work for both
   relations in a query and the result of a query.
   That is, it corresponds to both <code><a href="Database-HaskellDB-HDBRec.html#v:-33-">!</a></code> and <code>!.</code> from the original
   HaskellDB. An overloaded operator was selected because users
   (and the developers) always forgot to use !. instead of !
   on query results.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:SetField" class="def">SetField</a> f r a <a href="src/Database-HaskellDB-HDBRec.html#SetField" class="link">Source</a></p><div class="subs instances"><p id="control.i:SetField" class="caption collapser" onclick="toggleSection('i:SetField')">Instances</p><div id="section.i:SetField" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f r a =&gt; <a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f r a =&gt; <a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> g b r) a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r) a</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:setField" class="def">setField</a> :: <a href="Database-HaskellDB-HDBRec.html#t:SetField">SetField</a> f r a =&gt; l f a -&gt; a -&gt; r -&gt; r<a href="src/Database-HaskellDB-HDBRec.html#setField" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:RecCat" class="def">RecCat</a> r1 r2 r3 | r1 r2 -&gt; r3 <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#RecCat" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:recCat" class="def">recCat</a> :: r1 -&gt; r2 -&gt; r3<a href="src/Database-HaskellDB-HDBRec.html#recCat" class="link">Source</a></p><div class="doc"><p>Concatenates two records.
</p></div></div><div class="subs instances"><p id="control.i:RecCat" class="caption collapser" onclick="toggleSection('i:RecCat')">Instances</p><div id="section.i:RecCat" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a> r r</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> r1 r2 r3 =&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r1) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r2) (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r3)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> r1 r2 r3 =&gt; <a href="Database-HaskellDB-HDBRec.html#t:RecCat">RecCat</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r1) r2 (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r3)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:5">Showing and reading records
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:ShowLabels" class="def">ShowLabels</a> r  <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#ShowLabels" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:recordLabels" class="def">recordLabels</a> :: r -&gt; [<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>]<a href="src/Database-HaskellDB-HDBRec.html#recordLabels" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:ShowLabels" class="caption collapser" onclick="toggleSection('i:ShowLabels')">Instances</p><div id="section.i:ShowLabels" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> f, <a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> r) =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowLabels">ShowLabels</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> f a r)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:ShowRecRow" class="def">ShowRecRow</a> r  <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#ShowRecRow" class="link">Source</a></p><div class="doc"><p>Convert a record to a list of label names and field values.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:showRecRow" class="def">showRecRow</a> :: r -&gt; [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:ShowS">ShowS</a>)]<a href="src/Database-HaskellDB-HDBRec.html#showRecRow" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:ShowRecRow" class="caption collapser" onclick="toggleSection('i:ShowRecRow')">Instances</p><div id="section.i:ShowRecRow" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> r =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> (<a href="Database-HaskellDB-HDBRec.html#t:Record">Record</a> r)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Show.html#t:Show">Show</a> b, <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> c) =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ShowRecRow">ShowRecRow</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> a b c)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:ReadRecRow" class="def">ReadRecRow</a> r  <span class="keyword">where</span><a href="src/Database-HaskellDB-HDBRec.html#ReadRecRow" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:readRecRow" class="def">readRecRow</a> :: [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)] -&gt; [(r, [(<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a>)])]<a href="src/Database-HaskellDB-HDBRec.html#readRecRow" class="link">Source</a></p><div class="doc"><p>Convert a list of labels and strins representating values
   to a record.
</p></div></div><div class="subs instances"><p id="control.i:ReadRecRow" class="caption collapser" onclick="toggleSection('i:ReadRecRow')">Instances</p><div id="section.i:ReadRecRow" class="show"><table><tr><td class="src"><a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> <a href="Database-HaskellDB-HDBRec.html#t:RecNil">RecNil</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Database-HaskellDB-HDBRec.html#t:FieldTag">FieldTag</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Text-Read.html#t:Read">Read</a> b, <a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> c) =&gt; <a href="Database-HaskellDB-HDBRec.html#t:ReadRecRow">ReadRecRow</a> (<a href="Database-HaskellDB-HDBRec.html#t:RecCons">RecCons</a> a b c)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></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>