/usr/share/doc/libghc-syb-with-class-doc/html/Data-Generics-SYB-WithClass-Basics.html is in libghc-syb-with-class-doc 0.6.1.7-3.
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 | <!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>Data.Generics.SYB.WithClass.Basics</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_Data-Generics-SYB-WithClass-Basics.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Generics-SYB-WithClass-Basics.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">syb-with-class-0.6.1.7: Scrap Your Boilerplate With Class</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Data.Generics.SYB.WithClass.Basics</p></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short">module <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Typeable.html">Data.Typeable</a></li><li class="src short">module <a href="Data-Generics-SYB-WithClass-Context.html">Data.Generics.SYB.WithClass.Context</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Proxy">Proxy</a> a</li><li class="src short"><span class="keyword">class</span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> a, <a href="Data-Generics-SYB-WithClass-Context.html#t:Sat">Sat</a> (ctx a)) => <a href="#t:Data">Data</a> ctx a <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:GenericT">GenericT</a> ctx = <span class="keyword">forall</span> a. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => a -> a</li><li class="src short"><a href="#v:gmapT">gmapT</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericT">GenericT</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericT">GenericT</a> ctx</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ID">ID</a> x = <a href="#v:ID">ID</a> {<ul class="subs"><li><a href="#v:unID">unID</a> :: x</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:GenericM">GenericM</a> m ctx = <span class="keyword">forall</span> a. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => a -> m a</li><li class="src short"><a href="#v:gmapM">gmapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericM">GenericM</a> m ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericM">GenericM</a> m ctx</li><li class="src short"><span class="keyword">type</span> <a href="#t:GenericQ">GenericQ</a> ctx r = <span class="keyword">forall</span> a. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => a -> r</li><li class="src short"><a href="#v:gmapQ">gmapQ</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericQ">GenericQ</a> ctx r -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericQ">GenericQ</a> ctx [r]</li><li class="src short"><a href="#v:gmapQr">gmapQr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (r' -> r -> r) -> r -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericQ">GenericQ</a> ctx r' -> a -> r</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Qr">Qr</a> r a = <a href="#v:Qr">Qr</a> {<ul class="subs"><li><a href="#v:unQr">unQr</a> :: r -> r</li></ul>}</li><li class="src short"><a href="#v:fromConstr">fromConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> a</li><li class="src short"><a href="#v:fromConstrB">fromConstrB</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => b) -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> a</li><li class="src short"><a href="#v:fromConstrM">fromConstrM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a) => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => m b) -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> m a</li><li class="src short"><span class="keyword">data</span> <a href="#t:DataType">DataType</a> = <a href="#v:DataType">DataType</a> {<ul class="subs"><li><a href="#v:tycon">tycon</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:datarep">datarep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:Constr">Constr</a> = <a href="#v:Constr">Constr</a> {<ul class="subs"><li><a href="#v:conrep">conrep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a></li><li><a href="#v:constring">constring</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:confields">confields</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:confixity">confixity</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a></li><li><a href="#v:datatype">datatype</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:DataRep">DataRep</a><ul class="subs"><li>= <a href="#v:AlgRep">AlgRep</a> [<a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a>]</li><li>| <a href="#v:IntRep">IntRep</a></li><li>| <a href="#v:FloatRep">FloatRep</a></li><li>| <a href="#v:StringRep">StringRep</a></li><li>| <a href="#v:NoRep">NoRep</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:ConstrRep">ConstrRep</a><ul class="subs"><li>= <a href="#v:AlgConstr">AlgConstr</a> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a></li><li>| <a href="#v:IntConstr">IntConstr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Integer">Integer</a></li><li>| <a href="#v:FloatConstr">FloatConstr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Double">Double</a></li><li>| <a href="#v:StringConstr">StringConstr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:ConIndex">ConIndex</a> = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Fixity">Fixity</a><ul class="subs"><li>= <a href="#v:Prefix">Prefix</a></li><li>| <a href="#v:Infix">Infix</a></li></ul></li><li class="src short"><a href="#v:dataTypeName">dataTypeName</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:dataTypeRep">dataTypeRep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a></li><li class="src short"><a href="#v:constrType">constrType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:constrRep">constrRep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a></li><li class="src short"><a href="#v:repConstr">repConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:mkDataType">mkDataType</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a>] -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:mkConstr">mkConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a>] -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:dataTypeConstrs">dataTypeConstrs</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> [<a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a>]</li><li class="src short"><a href="#v:constrFields">constrFields</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:constrFixity">constrFixity</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a></li><li class="src short"><a href="#v:showConstr">showConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:readConstr">readConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:isAlgType">isAlgType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:indexConstr">indexConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:constrIndex">constrIndex</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a></li><li class="src short"><a href="#v:maxConstrIndex">maxConstrIndex</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a></li><li class="src short"><a href="#v:mkIntType">mkIntType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:mkFloatType">mkFloatType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:mkStringType">mkStringType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:mkPrimType">mkPrimType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:mkPrimCon">mkPrimCon</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:mkIntConstr">mkIntConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Integer">Integer</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:mkFloatConstr">mkFloatConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Double">Double</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:mkStringConstr">mkStringConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></li><li class="src short"><a href="#v:mkNorepType">mkNorepType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></li><li class="src short"><a href="#v:isNorepType">isNorepType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Typeable.html">Data.Typeable</a></p></div><div class="top"><p class="src">module <a href="Data-Generics-SYB-WithClass-Context.html">Data.Generics.SYB.WithClass.Context</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Proxy" class="def">Proxy</a> a <a href="src/Data-Generics-SYB-WithClass-Basics.html#Proxy" class="link">Source</a> <a href="#t:Proxy" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> a, <a href="Data-Generics-SYB-WithClass-Context.html#t:Sat">Sat</a> (ctx a)) => <a id="t:Data" class="def">Data</a> ctx a <span class="keyword">where</span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#Data" class="link">Source</a> <a href="#t:Data" class="selflink">#</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Generics-SYB-WithClass-Basics.html#v:toConstr">toConstr</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:gfoldl" class="def">gfoldl</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b c. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => w (b -> c) -> b -> w c) -> (<span class="keyword">forall</span> g. g -> w g) -> a -> w a <a href="src/Data-Generics-SYB-WithClass-Basics.html#gfoldl" class="link">Source</a> <a href="#v:gfoldl" class="selflink">#</a></p><p class="src"><a id="v:gunfold" class="def">gunfold</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b r. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => c (b -> r) -> c r) -> (<span class="keyword">forall</span> r. r -> c r) -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> c a <a href="src/Data-Generics-SYB-WithClass-Basics.html#gunfold" class="link">Source</a> <a href="#v:gunfold" class="selflink">#</a></p><p class="src"><a id="v:toConstr" class="def">toConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> a -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#toConstr" class="link">Source</a> <a href="#v:toConstr" class="selflink">#</a></p><p class="src"><a id="v:dataTypeOf" class="def">dataTypeOf</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> a -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#dataTypeOf" class="link">Source</a> <a href="#v:dataTypeOf" class="selflink">#</a></p><p class="src"><a id="v:dataCast1" class="def">dataCast1</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> t => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => w (t b)) -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (w a) <a href="src/Data-Generics-SYB-WithClass-Basics.html#dataCast1" class="link">Source</a> <a href="#v:dataCast1" class="selflink">#</a></p><div class="doc"><p>Mediate types and unary type constructors</p></div><p class="src"><a id="v:dataCast2" class="def">dataCast2</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Typeable-Internal.html#t:Typeable2">Typeable2</a> t => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b c. (<a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b, <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx c) => w (t b c)) -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (w a) <a href="src/Data-Generics-SYB-WithClass-Basics.html#dataCast2" class="link">Source</a> <a href="#v:dataCast2" class="selflink">#</a></p><div class="doc"><p>Mediate types and binary type constructors</p></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:GenericT" class="def">GenericT</a> ctx = <span class="keyword">forall</span> a. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => a -> a <a href="src/Data-Generics-SYB-WithClass-Basics.html#GenericT" class="link">Source</a> <a href="#t:GenericT" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gmapT" class="def">gmapT</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericT">GenericT</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericT">GenericT</a> ctx <a href="src/Data-Generics-SYB-WithClass-Basics.html#gmapT" class="link">Source</a> <a href="#v:gmapT" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:ID" class="def">ID</a> x <a href="src/Data-Generics-SYB-WithClass-Basics.html#ID" class="link">Source</a> <a href="#t:ID" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:ID" class="def">ID</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:unID" class="def">unID</a> :: x</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:GenericM" class="def">GenericM</a> m ctx = <span class="keyword">forall</span> a. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => a -> m a <a href="src/Data-Generics-SYB-WithClass-Basics.html#GenericM" class="link">Source</a> <a href="#t:GenericM" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gmapM" class="def">gmapM</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericM">GenericM</a> m ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericM">GenericM</a> m ctx <a href="src/Data-Generics-SYB-WithClass-Basics.html#gmapM" class="link">Source</a> <a href="#v:gmapM" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:GenericQ" class="def">GenericQ</a> ctx r = <span class="keyword">forall</span> a. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => a -> r <a href="src/Data-Generics-SYB-WithClass-Basics.html#GenericQ" class="link">Source</a> <a href="#t:GenericQ" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gmapQ" class="def">gmapQ</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericQ">GenericQ</a> ctx r -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericQ">GenericQ</a> ctx [r] <a href="src/Data-Generics-SYB-WithClass-Basics.html#gmapQ" class="link">Source</a> <a href="#v:gmapQ" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:gmapQr" class="def">gmapQr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (r' -> r -> r) -> r -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:GenericQ">GenericQ</a> ctx r' -> a -> r <a href="src/Data-Generics-SYB-WithClass-Basics.html#gmapQr" class="link">Source</a> <a href="#v:gmapQr" class="selflink">#</a></p></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Qr" class="def">Qr</a> r a <a href="src/Data-Generics-SYB-WithClass-Basics.html#Qr" class="link">Source</a> <a href="#t:Qr" class="selflink">#</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Qr" class="def">Qr</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:unQr" class="def">unQr</a> :: r -> r</dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div></div><div class="top"><p class="src"><a id="v:fromConstr" class="def">fromConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> a <a href="src/Data-Generics-SYB-WithClass-Basics.html#fromConstr" class="link">Source</a> <a href="#v:fromConstr" class="selflink">#</a></p><div class="doc"><p>Build a term skeleton</p></div></div><div class="top"><p class="src"><a id="v:fromConstrB" class="def">fromConstrB</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => b) -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> a <a href="src/Data-Generics-SYB-WithClass-Basics.html#fromConstrB" class="link">Source</a> <a href="#v:fromConstrB" class="selflink">#</a></p><div class="doc"><p>Build a term and use a generic function for subterms</p></div></div><div class="top"><p class="src"><a id="v:fromConstrM" class="def">fromConstrM</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx a) => <a href="Data-Generics-SYB-WithClass-Basics.html#t:Proxy">Proxy</a> ctx -> (<span class="keyword">forall</span> b. <a href="Data-Generics-SYB-WithClass-Basics.html#t:Data">Data</a> ctx b => m b) -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> m a <a href="src/Data-Generics-SYB-WithClass-Basics.html#fromConstrM" class="link">Source</a> <a href="#v:fromConstrM" class="selflink">#</a></p><div class="doc"><p>Monadic variation on "fromConstrB"</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:DataType" class="def">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#DataType" class="link">Source</a> <a href="#t:DataType" class="selflink">#</a></p><div class="doc"><p>Representation of datatypes.
| A package of constructor representations with names of type and module.
| The list of constructors could be an array, a balanced tree, or others.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:DataType" class="def">DataType</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:tycon" class="def">tycon</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:datarep" class="def">datarep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:DataType" class="caption collapser" onclick="toggleSection('i:DataType')">Instances</p><div id="section.i:DataType" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DataType:Show:1" class="instance expander" onclick="toggleSection('i:id:DataType:Show:1')"></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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-203" class="link">Source</a> <a href="#t:DataType" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DataType:Show:1" 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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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"><span class="keyword">data</span> <a id="t:Constr" class="def">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#Constr" class="link">Source</a> <a href="#t:Constr" class="selflink">#</a></p><div class="doc"><p>Representation of constructors</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Constr" class="def">Constr</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:conrep" class="def">conrep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:constring" class="def">constring</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:confields" class="def">confields</a> :: [<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a>]</dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:confixity" class="def">confixity</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a></dfn><div class="doc empty"> </div></li><li><dfn class="src"><a id="v:datatype" class="def">datatype</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a></dfn><div class="doc empty"> </div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Constr" class="caption collapser" onclick="toggleSection('i:Constr')">Instances</p><div id="section.i:Constr" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Constr:Eq:1" class="instance expander" onclick="toggleSection('i:id:Constr: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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-220" class="link">Source</a> <a href="#t:Constr" class="selflink">#</a></td><td class="doc"><p>Equality of constructors</p></td></tr><tr><td colspan="2"><div id="section.i:id:Constr: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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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:Constr:Show:2" class="instance expander" onclick="toggleSection('i:id:Constr:Show:2')"></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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-215" class="link">Source</a> <a href="#t:Constr" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Constr:Show:2" 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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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"><span class="keyword">data</span> <a id="t:DataRep" class="def">DataRep</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#DataRep" class="link">Source</a> <a href="#t:DataRep" class="selflink">#</a></p><div class="doc"><p>Public representation of datatypes</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AlgRep" class="def">AlgRep</a> [<a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a>]</td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IntRep" class="def">IntRep</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FloatRep" class="def">FloatRep</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:StringRep" class="def">StringRep</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:NoRep" class="def">NoRep</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:DataRep" class="caption collapser" onclick="toggleSection('i:DataRep')">Instances</p><div id="section.i:DataRep" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:DataRep:Eq:1" class="instance expander" onclick="toggleSection('i:id:DataRep: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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-231" class="link">Source</a> <a href="#t:DataRep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DataRep: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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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:DataRep:Show:2" class="instance expander" onclick="toggleSection('i:id:DataRep:Show:2')"></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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-231" class="link">Source</a> <a href="#t:DataRep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:DataRep:Show:2" 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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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"><span class="keyword">data</span> <a id="t:ConstrRep" class="def">ConstrRep</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#ConstrRep" class="link">Source</a> <a href="#t:ConstrRep" class="selflink">#</a></p><div class="doc"><p>Public representation of constructors</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:AlgConstr" class="def">AlgConstr</a> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:IntConstr" class="def">IntConstr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Integer">Integer</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:FloatConstr" class="def">FloatConstr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Double">Double</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:StringConstr" class="def">StringConstr</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ConstrRep" class="caption collapser" onclick="toggleSection('i:ConstrRep')">Instances</p><div id="section.i:ConstrRep" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:ConstrRep:Eq:1" class="instance expander" onclick="toggleSection('i:id:ConstrRep: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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-240" class="link">Source</a> <a href="#t:ConstrRep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConstrRep: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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</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:ConstrRep:Show:2" class="instance expander" onclick="toggleSection('i:id:ConstrRep:Show:2')"></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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-240" class="link">Source</a> <a href="#t:ConstrRep" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:ConstrRep:Show:2" 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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</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"><span class="keyword">type</span> <a id="t:ConIndex" class="def">ConIndex</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="src/Data-Generics-SYB-WithClass-Basics.html#ConIndex" class="link">Source</a> <a href="#t:ConIndex" class="selflink">#</a></p><div class="doc"><p>Unique index for datatype constructors.
| Textual order is respected. Starts at 1.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:Fixity" class="def">Fixity</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#Fixity" class="link">Source</a> <a href="#t:Fixity" class="selflink">#</a></p><div class="doc"><p>Fixity of constructors</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Prefix" class="def">Prefix</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a id="v:Infix" class="def">Infix</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Fixity" class="caption collapser" onclick="toggleSection('i:Fixity')">Instances</p><div id="section.i:Fixity" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Fixity:Eq:1" class="instance expander" onclick="toggleSection('i:id:Fixity: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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-254" class="link">Source</a> <a href="#t:Fixity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Fixity: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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</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:Fixity:Show:2" class="instance expander" onclick="toggleSection('i:id:Fixity:Show:2')"></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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a></span> <a href="src/Data-Generics-SYB-WithClass-Basics.html#line-254" class="link">Source</a> <a href="#t:Fixity" class="selflink">#</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div id="section.i:id:Fixity:Show:2" 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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</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="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</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:dataTypeName" class="def">dataTypeName</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="src/Data-Generics-SYB-WithClass-Basics.html#dataTypeName" class="link">Source</a> <a href="#v:dataTypeName" class="selflink">#</a></p><div class="doc"><p>Gets the type constructor including the module</p></div></div><div class="top"><p class="src"><a id="v:dataTypeRep" class="def">dataTypeRep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#dataTypeRep" class="link">Source</a> <a href="#v:dataTypeRep" class="selflink">#</a></p><div class="doc"><p>Gets the public presentation of datatypes</p></div></div><div class="top"><p class="src"><a id="v:constrType" class="def">constrType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#constrType" class="link">Source</a> <a href="#v:constrType" class="selflink">#</a></p><div class="doc"><p>Gets the datatype of a constructor</p></div></div><div class="top"><p class="src"><a id="v:constrRep" class="def">constrRep</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#constrRep" class="link">Source</a> <a href="#v:constrRep" class="selflink">#</a></p><div class="doc"><p>Gets the public presentation of constructors</p></div></div><div class="top"><p class="src"><a id="v:repConstr" class="def">repConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#repConstr" class="link">Source</a> <a href="#v:repConstr" class="selflink">#</a></p><div class="doc"><p>Look up a constructor by its representation</p></div></div><div class="top"><p class="src"><a id="v:mkDataType" class="def">mkDataType</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a>] -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkDataType" class="link">Source</a> <a href="#v:mkDataType" class="selflink">#</a></p><div class="doc"><p>Constructs an algebraic datatype</p></div></div><div class="top"><p class="src"><a id="v:mkConstr" class="def">mkConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-String.html#t:String">String</a>] -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkConstr" class="link">Source</a> <a href="#v:mkConstr" class="selflink">#</a></p><div class="doc"><p>Constructs a constructor</p></div></div><div class="top"><p class="src"><a id="v:dataTypeConstrs" class="def">dataTypeConstrs</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> [<a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a>] <a href="src/Data-Generics-SYB-WithClass-Basics.html#dataTypeConstrs" class="link">Source</a> <a href="#v:dataTypeConstrs" class="selflink">#</a></p><div class="doc"><p>Gets the constructors</p></div></div><div class="top"><p class="src"><a id="v:constrFields" class="def">constrFields</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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="src/Data-Generics-SYB-WithClass-Basics.html#constrFields" class="link">Source</a> <a href="#v:constrFields" class="selflink">#</a></p><div class="doc"><p>Gets the field labels of a constructor</p></div></div><div class="top"><p class="src"><a id="v:constrFixity" class="def">constrFixity</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Fixity">Fixity</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#constrFixity" class="link">Source</a> <a href="#v:constrFixity" class="selflink">#</a></p><div class="doc"><p>Gets the fixity of a constructor</p></div></div><div class="top"><p class="src"><a id="v:showConstr" class="def">showConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</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="src/Data-Generics-SYB-WithClass-Basics.html#showConstr" class="link">Source</a> <a href="#v:showConstr" class="selflink">#</a></p><div class="doc"><p>Gets the string for a constructor</p></div></div><div class="top"><p class="src"><a id="v:readConstr" class="def">readConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#readConstr" class="link">Source</a> <a href="#v:readConstr" class="selflink">#</a></p><div class="doc"><p>Lookup a constructor via a string</p></div></div><div class="top"><p class="src"><a id="v:isAlgType" class="def">isAlgType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="src/Data-Generics-SYB-WithClass-Basics.html#isAlgType" class="link">Source</a> <a href="#v:isAlgType" class="selflink">#</a></p><div class="doc"><p>Test for an algebraic type</p></div></div><div class="top"><p class="src"><a id="v:indexConstr" class="def">indexConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#indexConstr" class="link">Source</a> <a href="#v:indexConstr" class="selflink">#</a></p><div class="doc"><p>Gets the constructor for an index</p></div></div><div class="top"><p class="src"><a id="v:constrIndex" class="def">constrIndex</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#constrIndex" class="link">Source</a> <a href="#v:constrIndex" class="selflink">#</a></p><div class="doc"><p>Gets the index of a constructor</p></div></div><div class="top"><p class="src"><a id="v:maxConstrIndex" class="def">maxConstrIndex</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:ConIndex">ConIndex</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#maxConstrIndex" class="link">Source</a> <a href="#v:maxConstrIndex" class="selflink">#</a></p><div class="doc"><p>Gets the maximum constructor index</p></div></div><div class="top"><p class="src"><a id="v:mkIntType" class="def">mkIntType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkIntType" class="link">Source</a> <a href="#v:mkIntType" class="selflink">#</a></p><div class="doc"><p>Constructs the Int type</p></div></div><div class="top"><p class="src"><a id="v:mkFloatType" class="def">mkFloatType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkFloatType" class="link">Source</a> <a href="#v:mkFloatType" class="selflink">#</a></p><div class="doc"><p>Constructs the Float type</p></div></div><div class="top"><p class="src"><a id="v:mkStringType" class="def">mkStringType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkStringType" class="link">Source</a> <a href="#v:mkStringType" class="selflink">#</a></p><div class="doc"><p>Constructs the String type</p></div></div><div class="top"><p class="src"><a id="v:mkPrimType" class="def">mkPrimType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataRep">DataRep</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkPrimType" class="link">Source</a> <a href="#v:mkPrimType" class="selflink">#</a></p><div class="doc"><p>Helper for mkIntType, mkFloatType, mkStringType</p></div></div><div class="top"><p class="src"><a id="v:mkPrimCon" class="def">mkPrimCon</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="Data-Generics-SYB-WithClass-Basics.html#t:ConstrRep">ConstrRep</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkPrimCon" class="link">Source</a> <a href="#v:mkPrimCon" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkIntConstr" class="def">mkIntConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Integer">Integer</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkIntConstr" class="link">Source</a> <a href="#v:mkIntConstr" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkFloatConstr" class="def">mkFloatConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.0.0/Prelude.html#t:Double">Double</a> -> <a href="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkFloatConstr" class="link">Source</a> <a href="#v:mkFloatConstr" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkStringConstr" class="def">mkStringConstr</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="Data-Generics-SYB-WithClass-Basics.html#t:Constr">Constr</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkStringConstr" class="link">Source</a> <a href="#v:mkStringConstr" class="selflink">#</a></p></div><div class="top"><p class="src"><a id="v:mkNorepType" class="def">mkNorepType</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="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</a> <a href="src/Data-Generics-SYB-WithClass-Basics.html#mkNorepType" class="link">Source</a> <a href="#v:mkNorepType" class="selflink">#</a></p><div class="doc"><p>Constructs a non-representation</p></div></div><div class="top"><p class="src"><a id="v:isNorepType" class="def">isNorepType</a> :: <a href="Data-Generics-SYB-WithClass-Basics.html#t:DataType">DataType</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="src/Data-Generics-SYB-WithClass-Basics.html#isNorepType" class="link">Source</a> <a href="#v:isNorepType" class="selflink">#</a></p><div class="doc"><p>Test for a non-representable type</p></div></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>
|