<!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 ><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js" ></script ></head ><body ><pre ><span class="hs-keyword" >module</span ><span class="" > </span ><span class="hs-identifier" >Classes</span ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><span class="hs-keyword" >class</span ><span class="" > </span ><a name="Foo" ><a href="Classes.html#Foo" ><span class="hs-identifier" >Foo</span ></a ></a ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >a</span ></a ></a ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="bar" ><a href="Classes.html#bar" ><span class="hs-identifier" >bar</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >::</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><span class="hs-identifier hs-type" >Int</span ><span class="" > </span ><a name="baz" ><a href="Classes.html#baz" ><span class="hs-identifier" >baz</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >::</span ><span class="" > </span ><span class="hs-identifier hs-type" >Int</span ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><span class="hs-special" >(</span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >,</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-keyword" >instance</span ><span class="" > </span ><a href="Classes.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="" > </span ><span class="hs-identifier hs-type" >Int</span ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#bar" ><span class="hs-identifier" >bar</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >id</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#baz" ><span class="hs-identifier" >baz</span ></a ></a ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >x</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-special" >(</span ><a href="#local-0" ><span class="hs-identifier hs-var" >x</span ></a ><span class="hs-special" >,</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >x</span ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-keyword" >instance</span ><span class="" > </span ><a href="Classes.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="" > </span ><span class="hs-special" >[</span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >]</span ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#bar" ><span class="hs-identifier" >bar</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >length</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#baz" ><span class="hs-identifier" >baz</span ></a ></a ><span class="" > </span ><span class="hs-identifier" >_</span ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-special" >(</span ><span class="hs-special" >[</span ><span class="hs-special" >]</span ><span class="hs-special" >,</span ><span class="" > </span ><span class="hs-special" >[</span ><span class="hs-special" >]</span ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-keyword" >class</span ><span class="" > </span ><a href="Classes.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><span class="hs-glyph" >=></span ><span class="" > </span ><a name="Foo%27" ><a href="Classes.html#Foo%27" ><span class="hs-identifier" >Foo'</span ></a ></a ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >a</span ></a ></a ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="quux" ><a href="Classes.html#quux" ><span class="hs-identifier" >quux</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >::</span ><span class="" > </span ><span class="hs-special" >(</span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >,</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><a name="local-0" ><a href="Classes.html#quux" ><span class="hs-identifier" >quux</span ></a ></a ><span class="" > </span ><span class="hs-special" >(</span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >x</span ></a ></a ><span class="hs-special" >,</span ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >y</span ></a ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><a href="Classes.html#norf" ><span class="hs-identifier hs-var" >norf</span ></a ><span class="" > </span ><span class="hs-special" >[</span ><a href="#local-0" ><span class="hs-identifier hs-var" >x</span ></a ><span class="hs-special" >,</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >y</span ></a ><span class="hs-special" >]</span ><span class="" > </span ><a name="norf" ><a href="Classes.html#norf" ><span class="hs-identifier" >norf</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >::</span ><span class="" > </span ><span class="hs-special" >[</span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >]</span ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><a name="local-0" ><a href="Classes.html#norf" ><span class="hs-identifier" >norf</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><a href="Classes.html#quux" ><span class="hs-identifier hs-var" >quux</span ></a ><span class="" > </span ><span class="hs-operator hs-var" >.</span ><span class="" > </span ><a href="Classes.html#baz" ><span class="hs-identifier hs-var" >baz</span ></a ><span class="" > </span ><span class="hs-operator hs-var" >.</span ><span class="" > </span ><span class="hs-identifier hs-var" >sum</span ><span class="" > </span ><span class="hs-operator hs-var" >.</span ><span class="" > </span ><span class="hs-identifier hs-var" >map</span ><span class="" > </span ><a href="Classes.html#bar" ><span class="hs-identifier hs-var" >bar</span ></a ><span class="" > </span ><span class="hs-keyword" >instance</span ><span class="" > </span ><a href="Classes.html#Foo%27" ><span class="hs-identifier hs-type" >Foo'</span ></a ><span class="" > </span ><span class="hs-identifier hs-type" >Int</span ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#norf" ><span class="hs-identifier" >norf</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >sum</span ><span class="" > </span ><span class="hs-keyword" >instance</span ><span class="" > </span ><a href="Classes.html#Foo%27" ><span class="hs-identifier hs-type" >Foo'</span ></a ><span class="" > </span ><span class="hs-special" >[</span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >]</span ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#quux" ><span class="hs-identifier" >quux</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >uncurry</span ><span class="" > </span ><span class="hs-special" >(</span ><span class="hs-operator hs-var" >++</span ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-keyword" >class</span ><span class="" > </span ><a name="Plugh" ><a href="Classes.html#Plugh" ><span class="hs-identifier" >Plugh</span ></a ></a ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >p</span ></a ></a ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="plugh" ><a href="Classes.html#plugh" ><span class="hs-identifier" >plugh</span ></a ></a ><span class="" > </span ><span class="hs-glyph" >::</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >p</span ></a ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >p</span ></a ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >b</span ></a ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >b</span ></a ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >p</span ></a ><span class="" > </span ><span class="hs-special" >(</span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >b</span ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-special" >(</span ><a href="#local-0" ><span class="hs-identifier hs-type" >b</span ></a ><span class="" > </span ><span class="hs-glyph" >-></span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-type" >a</span ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-keyword" >instance</span ><span class="" > </span ><a href="Classes.html#Plugh" ><span class="hs-identifier hs-type" >Plugh</span ></a ><span class="" > </span ><span class="hs-identifier hs-type" >Either</span ><span class="" > </span ><span class="hs-keyword" >where</span ><span class="" > </span ><a name="local-0" ><a href="Classes.html#plugh" ><span class="hs-identifier" >plugh</span ></a ></a ><span class="" > </span ><span class="hs-special" >(</span ><span class="hs-identifier hs-var" >Left</span ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >a</span ></a ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-identifier" >_</span ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >Right</span ><span class="" > </span ><span class="hs-operator hs-var" >$</span ><span class="" > </span ><span class="hs-identifier hs-var" >const</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >a</span ></a ><span class="" > </span ><span class="hs-identifier" >plugh</span ><span class="" > </span ><span class="hs-special" >(</span ><span class="hs-identifier hs-var" >Right</span ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >a</span ></a ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-identifier" >_</span ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >Right</span ><span class="" > </span ><span class="hs-operator hs-var" >$</span ><span class="" > </span ><span class="hs-identifier hs-var" >const</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >a</span ></a ><span class="" > </span ><span class="hs-identifier" >plugh</span ><span class="" > </span ><span class="hs-identifier" >_</span ><span class="" > </span ><span class="hs-special" >(</span ><span class="hs-identifier hs-var" >Left</span ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >b</span ></a ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >Left</span ><span class="" > </span ><span class="hs-operator hs-var" >$</span ><span class="" > </span ><span class="hs-identifier hs-var" >const</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >b</span ></a ><span class="" > </span ><span class="hs-identifier" >plugh</span ><span class="" > </span ><span class="hs-identifier" >_</span ><span class="" > </span ><span class="hs-special" >(</span ><span class="hs-identifier hs-var" >Right</span ><span class="" > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >b</span ></a ></a ><span class="hs-special" >)</span ><span class="" > </span ><span class="hs-glyph" >=</span ><span class="" > </span ><span class="hs-identifier hs-var" >Left</span ><span class="" > </span ><span class="hs-operator hs-var" >$</span ><span class="" > </span ><span class="hs-identifier hs-var" >const</span ><span class="" > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >b</span ></a ><span class="" > </span ></pre ></body ></html >