<!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" >Constructors</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" >data</span ><span > </span ><a name="Foo" ><a href="Constructors.html#Foo" ><span class="hs-identifier" >Foo</span ></a ></a ><span > </span ><a name="line-5" ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a name="Bar" ><a href="Constructors.html#Bar" ><span class="hs-identifier" >Bar</span ></a ></a ><span > </span ><a name="line-6" ></a ><span > </span ><span class="hs-glyph" >|</span ><span > </span ><a name="Baz" ><a href="Constructors.html#Baz" ><span class="hs-identifier" >Baz</span ></a ></a ><span > </span ><a name="line-7" ></a ><span > </span ><span class="hs-glyph" >|</span ><span > </span ><a name="Quux" ><a href="Constructors.html#Quux" ><span class="hs-identifier" >Quux</span ></a ></a ><span > </span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span > </span ><span class="hs-identifier hs-type" >Int</span ><span > </span ><a name="line-8" ></a ><span > </span ><a name="line-9" ></a ><span class="hs-keyword" >newtype</span ><span > </span ><a name="Norf" ><a href="Constructors.html#Norf" ><span class="hs-identifier" >Norf</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a name="Norf" ><a href="Constructors.html#Norf" ><span class="hs-identifier" >Norf</span ></a ></a ><span > </span ><span class="hs-special" >(</span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="hs-special" >,</span ><span > </span ><span class="hs-special" >[</span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="hs-special" >]</span ><span class="hs-special" >,</span ><span > </span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="hs-special" >)</span ><span > </span ><a name="line-10" ></a ><span > </span ><a name="line-11" ></a ><span > </span ><a name="line-12" ></a ><span class="hs-identifier" >bar</span ><span class="hs-special" >,</span ><span > </span ><span class="hs-identifier" >baz</span ><span class="hs-special" >,</span ><span > </span ><span class="hs-identifier" >quux</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span > </span ><a name="line-13" ></a ><a name="bar" ><a href="Constructors.html#bar" ><span class="hs-identifier" >bar</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a href="Constructors.html#Bar" ><span class="hs-identifier hs-var" >Bar</span ></a ><span > </span ><a name="line-14" ></a ><a name="baz" ><a href="Constructors.html#baz" ><span class="hs-identifier" >baz</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a href="Constructors.html#Baz" ><span class="hs-identifier hs-var" >Baz</span ></a ><span > </span ><a name="line-15" ></a ><a name="quux" ><a href="Constructors.html#quux" ><span class="hs-identifier" >quux</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a href="Constructors.html#Quux" ><span class="hs-identifier hs-var" >Quux</span ></a ><span > </span ><a href="Constructors.html#quux" ><span class="hs-identifier hs-var" >quux</span ></a ><span > </span ><span class="hs-number" >0</span ><span > </span ><a name="line-16" ></a ><span > </span ><a name="line-17" ></a ><span > </span ><a name="line-18" ></a ><span class="hs-identifier" >unfoo</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-identifier hs-type" >Int</span ><span > </span ><a name="line-19" ></a ><a name="unfoo" ><a href="Constructors.html#unfoo" ><span class="hs-identifier" >unfoo</span ></a ></a ><span > </span ><a href="Constructors.html#Bar" ><span class="hs-identifier hs-var" >Bar</span ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-number" >0</span ><span > </span ><a name="line-20" ></a ><span class="hs-identifier" >unfoo</span ><span > </span ><a href="Constructors.html#Baz" ><span class="hs-identifier hs-var" >Baz</span ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-number" >0</span ><span > </span ><a name="line-21" ></a ><span class="hs-identifier" >unfoo</span ><span > </span ><span class="hs-special" >(</span ><a href="Constructors.html#Quux" ><span class="hs-identifier hs-var" >Quux</span ></a ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >foo</span ></a ></a ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >n</span ></a ></a ><span class="hs-special" >)</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-number" >42</span ><span > </span ><span class="hs-operator hs-var" >*</span ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >n</span ></a ><span > </span ><span class="hs-operator hs-var" >+</span ><span > </span ><a href="Constructors.html#unfoo" ><span class="hs-identifier hs-var" >unfoo</span ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >foo</span ></a ><span > </span ><a name="line-22" ></a ><span > </span ><a name="line-23" ></a ><span > </span ><a name="line-24" ></a ><span class="hs-identifier" >unnorf</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><a href="Constructors.html#Norf" ><span class="hs-identifier hs-type" >Norf</span ></a ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-special" >[</span ><a href="Constructors.html#Foo" ><span class="hs-identifier hs-type" >Foo</span ></a ><span class="hs-special" >]</span ><span > </span ><a name="line-25" ></a ><a name="unnorf" ><a href="Constructors.html#unnorf" ><span class="hs-identifier" >unnorf</span ></a ></a ><span > </span ><span class="hs-special" >(</span ><a href="Constructors.html#Norf" ><span class="hs-identifier hs-var" >Norf</span ></a ><span > </span ><span class="hs-special" >(</span ><a href="Constructors.html#Bar" ><span class="hs-identifier hs-var" >Bar</span ></a ><span class="hs-special" >,</span ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >xs</span ></a ></a ><span class="hs-special" >,</span ><span > </span ><a href="Constructors.html#Bar" ><span class="hs-identifier hs-var" >Bar</span ></a ><span class="hs-special" >)</span ><span class="hs-special" >)</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >xs</span ></a ><span > </span ><a name="line-26" ></a ><span class="hs-identifier" >unnorf</span ><span > </span ><span class="hs-special" >(</span ><a href="Constructors.html#Norf" ><span class="hs-identifier hs-var" >Norf</span ></a ><span > </span ><span class="hs-special" >(</span ><a href="Constructors.html#Baz" ><span class="hs-identifier hs-var" >Baz</span ></a ><span class="hs-special" >,</span ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >xs</span ></a ></a ><span class="hs-special" >,</span ><span > </span ><a href="Constructors.html#Baz" ><span class="hs-identifier hs-var" >Baz</span ></a ><span class="hs-special" >)</span ><span class="hs-special" >)</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-identifier hs-var" >reverse</span ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >xs</span ></a ><span > </span ><a name="line-27" ></a ><span class="hs-identifier" >unnorf</span ><span > </span ><span class="hs-identifier" >_</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><span class="hs-identifier hs-var" >undefined</span ><span > </span ><a name="line-28" ></a ><span > </span ><a name="line-29" ></a ><span > </span ><a name="line-30" ></a ><span class="hs-identifier" >unnorf'</span ><span > </span ><span class="hs-glyph" >::</span ><span > </span ><a href="Constructors.html#Norf" ><span class="hs-identifier hs-type" >Norf</span ></a ><span > </span ><span class="hs-glyph" >-></span ><span > </span ><span class="hs-identifier hs-type" >Int</span ><span > </span ><a name="line-31" ></a ><a name="unnorf%27" ><a href="Constructors.html#unnorf%27" ><span class="hs-identifier" >unnorf'</span ></a ></a ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >x</span ></a ></a ><span class="hs-glyph" >@</span ><span class="hs-special" >(</span ><a href="Constructors.html#Norf" ><span class="hs-identifier hs-var" >Norf</span ></a ><span > </span ><span class="hs-special" >(</span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >f1</span ></a ></a ><span class="hs-glyph" >@</span ><span class="hs-special" >(</span ><a href="Constructors.html#Quux" ><span class="hs-identifier hs-var" >Quux</span ></a ><span > </span ><span class="hs-identifier" >_</span ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >n</span ></a ></a ><span class="hs-special" >)</span ><span class="hs-special" >,</span ><span > </span ><span class="hs-identifier" >_</span ><span class="hs-special" >,</span ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >f2</span ></a ></a ><span class="hs-glyph" >@</span ><span class="hs-special" >(</span ><a href="Constructors.html#Quux" ><span class="hs-identifier hs-var" >Quux</span ></a ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >f3</span ></a ></a ><span > </span ><span class="hs-identifier" >_</span ><span class="hs-special" >)</span ><span class="hs-special" >)</span ><span class="hs-special" >)</span ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a name="line-32" ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >x'</span ></a ><span > </span ><span class="hs-operator hs-var" >+</span ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >n</span ></a ><span > </span ><span class="hs-operator hs-var" >*</span ><span > </span ><a href="Constructors.html#unfoo" ><span class="hs-identifier hs-var" >unfoo</span ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >f1</span ></a ><span > </span ><span class="hs-operator hs-var" >+</span ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >aux</span ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >f3</span ></a ><span > </span ><a name="line-33" ></a ><span > </span ><span class="hs-keyword" >where</span ><span > </span ><a name="line-34" ></a ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >aux</span ></a ></a ><span > </span ><a name="local-0" ><a href="#local-0" ><span class="hs-identifier" >fx</span ></a ></a ><span > </span ><span class="hs-glyph" >=</span ><span > </span ><a href="Constructors.html#unfoo" ><span class="hs-identifier hs-var" >unfoo</span ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >f2</span ></a ><span > </span ><span class="hs-operator hs-var" >*</span ><span > </span ><a href="Constructors.html#unfoo" ><span class="hs-identifier hs-var" >unfoo</span ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >fx</span ></a ><span > </span ><span class="hs-operator hs-var" >*</span ><span > </span ><a href="Constructors.html#unfoo" ><span class="hs-identifier hs-var" >unfoo</span ></a ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >f3</span ></a ><span > </span ><a name="line-35" ></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-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="Constructors.html#unfoo" ><span class="hs-identifier hs-var" >unfoo</span ></a ><span > </span ><span class="hs-operator hs-var" >.</span ><span > </span ><a href="Constructors.html#unnorf" ><span class="hs-identifier hs-var" >unnorf</span ></a ><span > </span ><span class="hs-operator hs-var" >$</span ><span > </span ><a href="#local-0" ><span class="hs-identifier hs-var" >x</span ></a ><span > </span ><a name="line-36" ></a ></pre ></body ></html >