blob: 74a7a4274939e6e4458901070a910b483aed991a (
plain) (
tree)
|
|
<!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
> </span
><span class="hs-identifier"
>Classes</span
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-2"
></a
><span
>
</span
><a name="line-3"
></a
><span
>
</span
><a name="line-4"
></a
><span class="hs-keyword"
>class</span
><span
> </span
><a name="Foo"
><a href="Classes.html#Foo"
><span class="hs-identifier"
>Foo</span
></a
></a
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>a</span
></a
></a
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-5"
></a
><span
> </span
><a name="bar"
><a href="Classes.html#bar"
><span class="hs-identifier"
>bar</span
></a
></a
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><span class="hs-identifier hs-type"
>Int</span
><span
>
</span
><a name="line-6"
></a
><span
> </span
><a name="baz"
><a href="Classes.html#baz"
><span class="hs-identifier"
>baz</span
></a
></a
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
><span class="hs-identifier hs-type"
>Int</span
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </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
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span class="hs-special"
>)</span
><span
>
</span
><a name="line-7"
></a
><span
>
</span
><a name="line-8"
></a
><span class="hs-keyword"
>instance</span
><span
> </span
><a href="Classes.html#Foo"
><span class="hs-identifier hs-type"
>Foo</span
></a
><span
> </span
><span class="hs-identifier hs-type"
>Int</span
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-9"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#bar"
><span class="hs-identifier"
>bar</span
></a
></a
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>id</span
><span
>
</span
><a name="line-10"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#baz"
><span class="hs-identifier"
>baz</span
></a
></a
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>x</span
></a
></a
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </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
> </span
><a href="#local-0"
><span class="hs-identifier hs-var"
>x</span
></a
><span class="hs-special"
>)</span
><span
>
</span
><a name="line-11"
></a
><span
>
</span
><a name="line-12"
></a
><span class="hs-keyword"
>instance</span
><span
> </span
><a href="Classes.html#Foo"
><span class="hs-identifier hs-type"
>Foo</span
></a
><span
> </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
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-13"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#bar"
><span class="hs-identifier"
>bar</span
></a
></a
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>length</span
><span
>
</span
><a name="line-14"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#baz"
><span class="hs-identifier"
>baz</span
></a
></a
><span
> </span
><span class="hs-identifier"
>_</span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-special"
>[</span
><span class="hs-special"
>]</span
><span class="hs-special"
>,</span
><span
> </span
><span class="hs-special"
>[</span
><span class="hs-special"
>]</span
><span class="hs-special"
>)</span
><span
>
</span
><a name="line-15"
></a
><span
>
</span
><a name="line-16"
></a
><span
>
</span
><a name="line-17"
></a
><span class="hs-keyword"
>class</span
><span
> </span
><a href="Classes.html#Foo"
><span class="hs-identifier hs-type"
>Foo</span
></a
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
> </span
><span class="hs-glyph"
>=></span
><span
> </span
><a name="Foo%27"
><a href="Classes.html#Foo%27"
><span class="hs-identifier"
>Foo'</span
></a
></a
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>a</span
></a
></a
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-18"
></a
><span
> </span
><a name="quux"
><a href="Classes.html#quux"
><span class="hs-identifier"
>quux</span
></a
></a
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </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
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
>
</span
><a name="line-19"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#quux"
><span class="hs-identifier"
>quux</span
></a
></a
><span
> </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
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>y</span
></a
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><a href="Classes.html#norf"
><span class="hs-identifier hs-var"
>norf</span
></a
><span
> </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
> </span
><a href="#local-0"
><span class="hs-identifier hs-var"
>y</span
></a
><span class="hs-special"
>]</span
><span
>
</span
><a name="line-20"
></a
><span
>
</span
><a name="line-21"
></a
><span
> </span
><a name="norf"
><a href="Classes.html#norf"
><span class="hs-identifier"
>norf</span
></a
></a
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </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
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
>
</span
><a name="line-22"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#norf"
><span class="hs-identifier"
>norf</span
></a
></a
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><a href="Classes.html#quux"
><span class="hs-identifier hs-var"
>quux</span
></a
><span
> </span
><span class="hs-operator hs-var"
>.</span
><span
> </span
><a href="Classes.html#baz"
><span class="hs-identifier hs-var"
>baz</span
></a
><span
> </span
><span class="hs-operator hs-var"
>.</span
><span
> </span
><span class="hs-identifier hs-var"
>sum</span
><span
> </span
><span class="hs-operator hs-var"
>.</span
><span
> </span
><span class="hs-identifier hs-var"
>map</span
><span
> </span
><a href="Classes.html#bar"
><span class="hs-identifier hs-var"
>bar</span
></a
><span
>
</span
><a name="line-23"
></a
><span
>
</span
><a name="line-24"
></a
><span class="hs-keyword"
>instance</span
><span
> </span
><a href="Classes.html#Foo%27"
><span class="hs-identifier hs-type"
>Foo'</span
></a
><span
> </span
><span class="hs-identifier hs-type"
>Int</span
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-25"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#norf"
><span class="hs-identifier"
>norf</span
></a
></a
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>sum</span
><span
>
</span
><a name="line-26"
></a
><span
>
</span
><a name="line-27"
></a
><span class="hs-keyword"
>instance</span
><span
> </span
><a href="Classes.html#Foo%27"
><span class="hs-identifier hs-type"
>Foo'</span
></a
><span
> </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
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-28"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#quux"
><span class="hs-identifier"
>quux</span
></a
></a
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>uncurry</span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-operator hs-var"
>++</span
><span class="hs-special"
>)</span
><span
>
</span
><a name="line-29"
></a
><span
>
</span
><a name="line-30"
></a
><span
>
</span
><a name="line-31"
></a
><span class="hs-keyword"
>class</span
><span
> </span
><a name="Plugh"
><a href="Classes.html#Plugh"
><span class="hs-identifier"
>Plugh</span
></a
></a
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>p</span
></a
></a
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-32"
></a
><span
> </span
><a name="plugh"
><a href="Classes.html#plugh"
><span class="hs-identifier"
>plugh</span
></a
></a
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>p</span
></a
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>p</span
></a
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>b</span
></a
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>b</span
></a
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>p</span
></a
><span
> </span
><span class="hs-special"
>(</span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>b</span
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-special"
>(</span
><a href="#local-0"
><span class="hs-identifier hs-type"
>b</span
></a
><span
> </span
><span class="hs-glyph"
>-></span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-type"
>a</span
></a
><span class="hs-special"
>)</span
><span
>
</span
><a name="line-33"
></a
><span
>
</span
><a name="line-34"
></a
><span class="hs-keyword"
>instance</span
><span
> </span
><a href="Classes.html#Plugh"
><span class="hs-identifier hs-type"
>Plugh</span
></a
><span
> </span
><span class="hs-identifier hs-type"
>Either</span
><span
> </span
><span class="hs-keyword"
>where</span
><span
>
</span
><a name="line-35"
></a
><span
> </span
><a name="local-0"
><a href="Classes.html#plugh"
><span class="hs-identifier"
>plugh</span
></a
></a
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-identifier hs-var"
>Left</span
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>a</span
></a
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-identifier"
>_</span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>Right</span
><span
> </span
><span class="hs-operator hs-var"
>$</span
><span
> </span
><span class="hs-identifier hs-var"
>const</span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-var"
>a</span
></a
><span
>
</span
><a name="line-36"
></a
><span
> </span
><span class="hs-identifier"
>plugh</span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-identifier hs-var"
>Right</span
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>a</span
></a
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-identifier"
>_</span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>Right</span
><span
> </span
><span class="hs-operator hs-var"
>$</span
><span
> </span
><span class="hs-identifier hs-var"
>const</span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-var"
>a</span
></a
><span
>
</span
><a name="line-37"
></a
><span
> </span
><span class="hs-identifier"
>plugh</span
><span
> </span
><span class="hs-identifier"
>_</span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-identifier hs-var"
>Left</span
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>b</span
></a
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>Left</span
><span
> </span
><span class="hs-operator hs-var"
>$</span
><span
> </span
><span class="hs-identifier hs-var"
>const</span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-var"
>b</span
></a
><span
>
</span
><a name="line-38"
></a
><span
> </span
><span class="hs-identifier"
>plugh</span
><span
> </span
><span class="hs-identifier"
>_</span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-identifier hs-var"
>Right</span
><span
> </span
><a name="local-0"
><a href="#local-0"
><span class="hs-identifier"
>b</span
></a
></a
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
><span class="hs-identifier hs-var"
>Left</span
><span
> </span
><span class="hs-operator hs-var"
>$</span
><span
> </span
><span class="hs-identifier hs-var"
>const</span
><span
> </span
><a href="#local-0"
><span class="hs-identifier hs-var"
>b</span
></a
><span
>
</span
><a name="line-39"
></a
></pre
></body
></html
>
|