aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test
diff options
context:
space:
mode:
Diffstat (limited to 'hypsrc-test')
-rw-r--r--hypsrc-test/ref/src/Constructors.html298
-rw-r--r--hypsrc-test/src/Constructors.hs8
2 files changed, 306 insertions, 0 deletions
diff --git a/hypsrc-test/ref/src/Constructors.html b/hypsrc-test/ref/src/Constructors.html
index 6d6c7c06..96be3627 100644
--- a/hypsrc-test/ref/src/Constructors.html
+++ b/hypsrc-test/ref/src/Constructors.html
@@ -529,6 +529,304 @@
>undefined</span
><span class=""
>
+
+
+</span
+ ><span class="hs-identifier"
+ >unnorf'</span
+ ><span class=""
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span class=""
+ > </span
+ ><a href="Constructors.html#Norf"
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span class=""
+ > </span
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ><span class=""
+ >
+</span
+ ><a name="unnorf%27"
+ ><a href="Constructors.html#unnorf%27"
+ ><span class="hs-identifier"
+ >unnorf'</span
+ ></a
+ ></a
+ ><span class=""
+ > </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 class=""
+ > </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 class=""
+ > </span
+ ><span class="hs-identifier"
+ >_</span
+ ><span class=""
+ > </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 class=""
+ > </span
+ ><span class="hs-identifier"
+ >_</span
+ ><span class="hs-special"
+ >,</span
+ ><span class=""
+ > </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 class=""
+ > </span
+ ><a name="local-0"
+ ><a href="#local-0"
+ ><span class="hs-identifier"
+ >f3</span
+ ></a
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-identifier"
+ >_</span
+ ><span class="hs-special"
+ >)</span
+ ><span class="hs-special"
+ >)</span
+ ><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-var"
+ >x'</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >n</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ><span class=""
+ > </span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >f1</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >aux</span
+ ></a
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >f3</span
+ ></a
+ ><span class=""
+ >
+ </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span class=""
+ >
+ </span
+ ><a name="local-0"
+ ><a href="#local-0"
+ ><span class="hs-identifier"
+ >aux</span
+ ></a
+ ></a
+ ><span class=""
+ > </span
+ ><a name="local-0"
+ ><a href="#local-0"
+ ><span class="hs-identifier"
+ >fx</span
+ ></a
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span class=""
+ > </span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >f2</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ><span class=""
+ > </span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >fx</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ><span class=""
+ > </span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >f3</span
+ ></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-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="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ><span class=""
+ > </span
+ ><a href="Constructors.html#unnorf"
+ ><span class="hs-identifier hs-var"
+ >unnorf</span
+ ></a
+ ><span class=""
+ > </span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ><span class=""
+ > </span
+ ><a href="#local-0"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ><span class=""
+ >
</span
></pre
></body
diff --git a/hypsrc-test/src/Constructors.hs b/hypsrc-test/src/Constructors.hs
index c52bdc72..8cb46535 100644
--- a/hypsrc-test/src/Constructors.hs
+++ b/hypsrc-test/src/Constructors.hs
@@ -25,3 +25,11 @@ unnorf :: Norf -> [Foo]
unnorf (Norf (Bar, xs, Bar)) = xs
unnorf (Norf (Baz, xs, Baz)) = reverse xs
unnorf _ = undefined
+
+
+unnorf' :: Norf -> Int
+unnorf' x@(Norf (f1@(Quux _ n), _, f2@(Quux f3 _))) =
+ x' + n * unfoo f1 + aux f3
+ where
+ aux fx = unfoo f2 * unfoo fx * unfoo f3
+ x' = sum . map unfoo . unnorf $ x