aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test/ref/src/Polymorphism.html
diff options
context:
space:
mode:
authorAlec Theriault <alec.theriault@gmail.com>2019-01-31 01:37:25 -0800
committerGitHub <noreply@github.com>2019-01-31 01:37:25 -0800
commit1b26460fb3b5df5215cc1e6715661cbc7c950085 (patch)
tree0b5ac6285ecf432021e8365567d48eeb6249f44b /hypsrc-test/ref/src/Polymorphism.html
parent4c02498a24e6ceb775528bed043b66340296ad06 (diff)
Use `.hie` files for the Hyperlinker backend (#977)
# Summary This is a large architectural change to the Hyperlinker. * extract link (and now also type) information from `.hie` instead of doing ad-hoc SYB traversals of the `RenamedSource`. Also adds a superb type-on-hover feature (#715). * re-engineer the lexer to avoid needless string conversions. By going directly through GHC's `P` monad and taking bytestring slices, we avoid a ton of allocation and have better handling of position pragmas and CPP. In terms of performance, the Haddock side of things has gotten _much_ more efficient. Unfortunately, much of this is cancelled out by the increased GHC workload for generating `.hie` files. For the full set of boot libs (including `ghc`-the-library) * the sum of total time went down by 9-10% overall * the sum of total allocations went down by 6-7% # Motivation Haddock is moving towards working entirely over `.hi` and `.hie` files. This change means we no longer need the `RenamedSource` from `TypecheckedModule` (something which is _not_ in `.hi` files). # Details Along the way a bunch of things were fixed: * Cross package (and other) links are now more reliable (#496) * The lexer tries to recover from errors on every line (instead of at CPP boundaries) * `LINE`/`COLUMN` pragmas are taken into account * filter out zero length tokens before rendering * avoid recomputing the `ModuleName`-based `SrcMap` * remove the last use of `Documentation.Haddock.Utf8` (see #998) * restructure temporary folder logic for `.hi`/`.hie` model
Diffstat (limited to 'hypsrc-test/ref/src/Polymorphism.html')
-rw-r--r--hypsrc-test/ref/src/Polymorphism.html3047
1 files changed, 1830 insertions, 1217 deletions
diff --git a/hypsrc-test/ref/src/Polymorphism.html b/hypsrc-test/ref/src/Polymorphism.html
index 602246e0..91f8bd33 100644
--- a/hypsrc-test/ref/src/Polymorphism.html
+++ b/hypsrc-test/ref/src/Polymorphism.html
@@ -11,25 +11,25 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></span
><span class="hs-pragma"
>{-# LANGUAGE ScopedTypeVariables #-}</span
><span
>
</span
- ><a name="line-3"
- ></a
+ ><span id="line-3"
+ ></span
><span
>
</span
- ><a name="line-4"
- ></a
+ ><span id="line-4"
+ ></span
><span
>
</span
- ><a name="line-5"
- ></a
+ ><span id="line-5"
+ ></span
><span class="hs-keyword"
>module</span
><span
@@ -43,81 +43,108 @@
><span
>
</span
- ><a name="line-6"
- ></a
- ><span
- >
-</span
- ><a name="line-7"
- ></a
- ><span
- >
-</span
- ><a name="line-8"
- ></a
- ><span class="hs-identifier"
- >foo</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
-</span
- ><a name="line-9"
- ></a
- ><a name="foo"
- ><a href="Polymorphism.html#foo"
- ><span class="hs-identifier"
- >foo</span
- ></a
- ></a
+ ><span id="line-6"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span id="local-6989586621679043738"
+ ><span class="annot"
+ ><a href="Polymorphism.html#foo"
+ ><span class="hs-identifier hs-type"
+ >foo</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-9"
+ ></span
+ ><span id="foo"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: a -&gt; a -&gt; a
+</span
+ ><a href="Polymorphism.html#foo"
+ ><span class="hs-identifier hs-var hs-var"
+ >foo</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-10"
- ></a
+ ><span id="line-10"
+ ></span
><span
>
</span
- ><a name="line-11"
- ></a
- ><span class="hs-identifier"
- >foo'</span
+ ><span id="line-11"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#foo%27"
+ ><span class="hs-identifier hs-type"
+ >foo'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -128,144 +155,194 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043734"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
-</span
- ><a name="line-12"
- ></a
- ><a name="foo%27"
- ><a href="Polymorphism.html#foo%27"
- ><span class="hs-identifier"
- >foo'</span
+ ><span class="hs-identifier hs-type"
+ >a</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ></span
><span
>
</span
- ><a name="line-13"
- ></a
- ><span
- >
+ ><span id="line-12"
+ ></span
+ ><span id="foo%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo' :: a -&gt; a -&gt; a
</span
- ><a name="line-14"
- ></a
- ><span class="hs-identifier"
- >bar</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><a href="Polymorphism.html#foo%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >foo'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >,</span
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span class="hs-special"
- >)</span
- ><span
- >
-</span
- ><a name="line-15"
- ></a
- ><a name="bar"
- ><a href="Polymorphism.html#bar"
- ><span class="hs-identifier"
- >bar</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-13"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-14"
+ ></span
+ ><span id="local-6989586621679043732"
+ ><span id="local-6989586621679043733"
+ ><span class="annot"
+ ><a href="Polymorphism.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-15"
+ ></span
+ ><span id="bar"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: a -&gt; b -&gt; (a, b)
+</span
+ ><a href="Polymorphism.html#bar"
+ ><span class="hs-identifier hs-var hs-var"
+ >bar</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; b -&gt; (a, b)
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
- ><span class="hs-identifier"
- >bar'</span
+ ><span id="line-17"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#bar%27"
+ ><span class="hs-identifier hs-type"
+ >bar'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -276,38 +353,46 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043729"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043728"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -316,150 +401,200 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-18"
- ></a
- ><a name="bar%27"
- ><a href="Polymorphism.html#bar%27"
- ><span class="hs-identifier"
- >bar'</span
- ></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >undefined</span
- ><span
- >
-</span
- ><a name="line-19"
- ></a
- ><span
- >
+ ><span id="line-18"
+ ></span
+ ><span id="bar%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar' :: a -&gt; b -&gt; (a, b)
</span
- ><a name="line-20"
- ></a
- ><span class="hs-identifier"
- >baz</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><a href="Polymorphism.html#bar%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >bar'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span class="hs-special"
- >)</span
+ >=</span
><span
> </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span
- >
-</span
- ><a name="line-21"
- ></a
- ><a name="baz"
- ><a href="Polymorphism.html#baz"
- ><span class="hs-identifier"
- >baz</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; b -&gt; (a, b)
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-19"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-20"
+ ></span
+ ><span id="local-6989586621679043726"
+ ><span id="local-6989586621679043727"
+ ><span class="annot"
+ ><a href="Polymorphism.html#baz"
+ ><span class="hs-identifier hs-type"
+ >baz</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-21"
+ ></span
+ ><span id="baz"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: a -&gt; (a -&gt; [a -&gt; a] -&gt; b) -&gt; b
+</span
+ ><a href="Polymorphism.html#baz"
+ ><span class="hs-identifier hs-var hs-var"
+ >baz</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; (a -&gt; [a -&gt; a] -&gt; b) -&gt; b
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-22"
- ></a
+ ><span id="line-22"
+ ></span
><span
>
</span
- ><a name="line-23"
- ></a
- ><span class="hs-identifier"
- >baz'</span
+ ><span id="line-23"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#baz%27"
+ ><span class="hs-identifier hs-type"
+ >baz'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -470,28 +605,34 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043723"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043722"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -500,10 +641,12 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -512,20 +655,24 @@
> </span
><span class="hs-special"
>[</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>]</span
><span
@@ -534,10 +681,12 @@
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -546,154 +695,213 @@
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span
- >
-</span
- ><a name="line-24"
- ></a
- ><a name="baz%27"
- ><a href="Polymorphism.html#baz%27"
- ><span class="hs-identifier"
- >baz'</span
+ ><span class="hs-identifier hs-type"
+ >b</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ></span
><span
>
</span
- ><a name="line-25"
- ></a
- ><span
- >
+ ><span id="line-24"
+ ></span
+ ><span id="baz%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz' :: a -&gt; (a -&gt; [a -&gt; a] -&gt; b) -&gt; b
</span
- ><a name="line-26"
- ></a
- ><span class="hs-identifier"
- >quux</span
+ ><a href="Polymorphism.html#baz%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >baz'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><span class="hs-keyword"
- >forall</span
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span class="hs-operator"
- >.</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >)</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; (a -&gt; [a -&gt; a] -&gt; b) -&gt; b
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-25"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-26"
+ ></span
+ ><span id="local-6989586621679043721"
+ ><span class="annot"
+ ><a href="Polymorphism.html#quux"
+ ><span class="hs-identifier hs-type"
+ >quux</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-keyword"
+ >forall</span
+ ><span
+ > </span
+ ><span id="local-6989586621679043756"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span class="hs-operator"
+ >.</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-27"
+ ></span
+ ><span id="quux"
+ ><span class="annot"
+ ><span class="annottext"
+ >quux :: a -&gt; (forall a. a -&gt; a) -&gt; a
+</span
+ ><a href="Polymorphism.html#quux"
+ ><span class="hs-identifier hs-var hs-var"
+ >quux</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043719"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043718"
+ ><span class="annot"
+ ><span class="annottext"
+ >f :: forall a. a -&gt; a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a
+forall a. a -&gt; a
</span
- ><a name="line-27"
- ></a
- ><a name="quux"
- ><a href="Polymorphism.html#quux"
- ><span class="hs-identifier"
- >quux</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
></a
- ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
>x</span
></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f</span
- ></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ></span
><span
>
</span
- ><a name="line-28"
- ></a
+ ><span id="line-28"
+ ></span
><span
>
</span
- ><a name="line-29"
- ></a
- ><span class="hs-identifier"
- >quux'</span
+ ><span id="line-29"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#quux%27"
+ ><span class="hs-identifier hs-type"
+ >quux'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -704,20 +912,24 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043716"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -730,30 +942,36 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043715"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -762,145 +980,204 @@
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
-</span
- ><a name="line-30"
- ></a
- ><a name="quux%27"
- ><a href="Polymorphism.html#quux%27"
- ><span class="hs-identifier"
- >quux'</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f</span
+ ><span class="hs-identifier hs-type"
+ >a</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ></span
><span
>
</span
- ><a name="line-31"
- ></a
- ><span
- >
+ ><span id="line-30"
+ ></span
+ ><span id="quux%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >quux' :: a -&gt; (forall a. a -&gt; a) -&gt; a
</span
- ><a name="line-32"
- ></a
- ><span
- >
-</span
- ><a name="line-33"
- ></a
- ><span class="hs-identifier"
- >num</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-identifier hs-type"
- >Num</span
+ ><a href="Polymorphism.html#quux%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >quux'</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=&gt;</span
+ ><span id="local-6989586621679043714"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span id="local-6989586621679043713"
+ ><span class="annot"
+ ><span class="annottext"
+ >f :: forall a. a -&gt; a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ >=</span
><span
> </span
- ><span class="hs-glyph"
- >-&gt;</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a
+forall a. a -&gt; a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
+ ><span class="annot"
+ ><span class="annottext"
+ >a
</span
- ><a name="line-34"
- ></a
- ><a name="num"
- ><a href="Polymorphism.html#num"
- ><span class="hs-identifier"
- >num</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
></a
- ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-31"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-32"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-33"
+ ></span
+ ><span id="local-6989586621679043712"
+ ><span class="annot"
+ ><a href="Polymorphism.html#num"
+ ><span class="hs-identifier hs-type"
+ >num</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Num</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-34"
+ ></span
+ ><span id="num"
+ ><span class="annot"
+ ><span class="annottext"
+ >num :: a -&gt; a -&gt; a
+</span
+ ><a href="Polymorphism.html#num"
+ ><span class="hs-identifier hs-var hs-var"
+ >num</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-35"
- ></a
+ ><span id="line-35"
+ ></span
><span
>
</span
- ><a name="line-36"
- ></a
- ><span class="hs-identifier"
- >num'</span
+ ><span id="line-36"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#num%27"
+ ><span class="hs-identifier hs-type"
+ >num'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -911,196 +1188,258 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043709"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Num</span
+ >Num</span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
-</span
- ><a name="line-37"
- ></a
- ><a name="num%27"
- ><a href="Polymorphism.html#num%27"
- ><span class="hs-identifier"
- >num'</span
+ ><span class="hs-identifier hs-type"
+ >a</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ></span
><span
>
</span
- ><a name="line-38"
- ></a
- ><span
- >
+ ><span id="line-37"
+ ></span
+ ><span id="num%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >num' :: a -&gt; a -&gt; a
</span
- ><a name="line-39"
- ></a
- ><span class="hs-identifier"
- >eq</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><span class="hs-identifier hs-type"
- >Eq</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >,</span
- ><span
- > </span
- ><span class="hs-identifier hs-type"
- >Eq</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span class="hs-special"
- >)</span
+ ><a href="Polymorphism.html#num%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >num'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >=&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >,</span
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span class="hs-special"
- >)</span
- ><span
- >
-</span
- ><a name="line-40"
- ></a
- ><a name="eq"
- ><a href="Polymorphism.html#eq"
- ><span class="hs-identifier"
- >eq</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-38"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-39"
+ ></span
+ ><span id="local-6989586621679043707"
+ ><span id="local-6989586621679043708"
+ ><span class="annot"
+ ><a href="Polymorphism.html#eq"
+ ><span class="hs-identifier hs-type"
+ >eq</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Eq</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Eq</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-40"
+ ></span
+ ><span id="eq"
+ ><span class="annot"
+ ><span class="annottext"
+ >eq :: [a] -&gt; [b] -&gt; (a, b)
+</span
+ ><a href="Polymorphism.html#eq"
+ ><span class="hs-identifier hs-var hs-var"
+ >eq</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [b] -&gt; (a, b)
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-41"
- ></a
+ ><span id="line-41"
+ ></span
><span
>
</span
- ><a name="line-42"
- ></a
- ><span class="hs-identifier"
- >eq'</span
+ ><span id="line-42"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#eq%27"
+ ><span class="hs-identifier hs-type"
+ >eq'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1111,46 +1450,58 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043704"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043703"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Eq</span
+ >Eq</span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Eq</span
+ >Eq</span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -1161,10 +1512,12 @@
> </span
><span class="hs-special"
>[</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>]</span
><span
@@ -1175,10 +1528,12 @@
> </span
><span class="hs-special"
>[</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>]</span
><span
@@ -1189,142 +1544,194 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-43"
- ></a
- ><a name="eq%27"
- ><a href="Polymorphism.html#eq%27"
- ><span class="hs-identifier"
- >eq'</span
- ></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >undefined</span
- ><span
- >
-</span
- ><a name="line-44"
- ></a
- ><span
- >
+ ><span id="line-43"
+ ></span
+ ><span id="eq%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >eq' :: [a] -&gt; [b] -&gt; (a, b)
</span
- ><a name="line-45"
- ></a
- ><span class="hs-identifier"
- >mon</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-identifier hs-type"
- >Monad</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >m</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><a href="Polymorphism.html#eq%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >eq'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >m</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >m</span
- ></a
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
-</span
- ><a name="line-46"
- ></a
- ><a name="mon"
- ><a href="Polymorphism.html#mon"
- ><span class="hs-identifier"
- >mon</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [b] -&gt; (a, b)
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-44"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-45"
+ ></span
+ ><span id="local-6989586621679043701"
+ ><span id="local-6989586621679043702"
+ ><span class="annot"
+ ><a href="Polymorphism.html#mon"
+ ><span class="hs-identifier hs-type"
+ >mon</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Monad</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-46"
+ ></span
+ ><span id="mon"
+ ><span class="annot"
+ ><span class="annottext"
+ >mon :: (a -&gt; m a) -&gt; m a
+</span
+ ><a href="Polymorphism.html#mon"
+ ><span class="hs-identifier hs-var hs-var"
+ >mon</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a -&gt; m a) -&gt; m a
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-47"
- ></a
+ ><span id="line-47"
+ ></span
><span
>
</span
- ><a name="line-48"
- ></a
- ><span class="hs-identifier"
- >mon'</span
+ ><span id="line-48"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#mon%27"
+ ><span class="hs-identifier hs-type"
+ >mon'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1335,32 +1742,40 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >m</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043698"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043697"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Monad</span
+ >Monad</span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >m</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1369,26 +1784,32 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >m</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -1397,173 +1818,232 @@
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >m</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >m</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
-</span
- ><a name="line-49"
- ></a
- ><a name="mon%27"
- ><a href="Polymorphism.html#mon%27"
- ><span class="hs-identifier"
- >mon'</span
+ ><span class="hs-identifier hs-type"
+ >a</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ></span
><span
>
</span
- ><a name="line-50"
- ></a
- ><span
- >
-</span
- ><a name="line-51"
- ></a
- ><span
- >
+ ><span id="line-49"
+ ></span
+ ><span id="mon%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >mon' :: (a -&gt; m a) -&gt; m a
</span
- ><a name="line-52"
- ></a
- ><span class="hs-identifier"
- >norf</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><span class="hs-keyword"
- >forall</span
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span class="hs-operator"
- >.</span
- ><span
- > </span
- ><span class="hs-identifier hs-type"
- >Ord</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><a href="Polymorphism.html#mon%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >mon'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >=&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >)</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a -&gt; m a) -&gt; m a
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-50"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-51"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-52"
+ ></span
+ ><span id="local-6989586621679043696"
+ ><span class="annot"
+ ><a href="Polymorphism.html#norf"
+ ><span class="hs-identifier hs-type"
+ >norf</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-keyword"
+ >forall</span
+ ><span
+ > </span
+ ><span id="local-6989586621679043743"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span class="hs-operator"
+ >.</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Ord</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-53"
+ ></span
+ ><span id="norf"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf :: a -&gt; (forall a. Ord a =&gt; a -&gt; a) -&gt; a
+</span
+ ><a href="Polymorphism.html#norf"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043694"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043693"
+ ><span class="annot"
+ ><span class="annottext"
+ >f :: forall a. Ord a =&gt; a -&gt; a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
+ >=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span
- >
+ ><span class="annot"
+ ><span class="annottext"
+ >a
</span
- ><a name="line-53"
- ></a
- ><a name="norf"
- ><a href="Polymorphism.html#norf"
- ><span class="hs-identifier"
- >norf</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
>x</span
></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f</span
- ></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ></span
><span
>
</span
- ><a name="line-54"
- ></a
+ ><span id="line-54"
+ ></span
><span
>
</span
- ><a name="line-55"
- ></a
- ><span class="hs-identifier"
- >norf'</span
+ ><span id="line-55"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#norf%27"
+ ><span class="hs-identifier hs-type"
+ >norf'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1574,20 +2054,24 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043691"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1600,44 +2084,54 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043690"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Ord</span
+ >Ord</span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -1646,64 +2140,90 @@
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-56"
- ></a
- ><a name="norf%27"
- ><a href="Polymorphism.html#norf%27"
- ><span class="hs-identifier"
- >norf'</span
- ></a
- ></a
+ ><span id="line-56"
+ ></span
+ ><span id="norf%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf' :: a -&gt; (forall a. Ord a =&gt; a -&gt; a) -&gt; a
+</span
+ ><a href="Polymorphism.html#norf%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf'</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043689"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f</span
- ></a
- ></a
+ ><span id="local-6989586621679043688"
+ ><span class="annot"
+ ><span class="annottext"
+ >f :: forall a. Ord a =&gt; a -&gt; a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-57"
- ></a
+ ><span id="line-57"
+ ></span
><span
>
</span
- ><a name="line-58"
- ></a
+ ><span id="line-58"
+ ></span
><span
>
</span
- ><a name="line-59"
- ></a
- ><span class="hs-identifier"
- >plugh</span
+ ><span id="line-59"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#plugh"
+ ><span class="hs-identifier hs-type"
+ >plugh</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1714,81 +2234,108 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043686"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-60"
- ></a
- ><a name="plugh"
- ><a href="Polymorphism.html#plugh"
- ><span class="hs-identifier"
- >plugh</span
- ></a
- ></a
+ ><span id="line-60"
+ ></span
+ ><span id="plugh"
+ ><span class="annot"
+ ><span class="annottext"
+ >plugh :: a -&gt; a
+</span
+ ><a href="Polymorphism.html#plugh"
+ ><span class="hs-identifier hs-var hs-var"
+ >plugh</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043685"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-61"
- ></a
+ ><span id="line-61"
+ ></span
><span
>
</span
- ><a name="line-62"
- ></a
- ><span class="hs-identifier"
- >thud</span
+ ><span id="line-62"
+ ></span
+ ><span class="annot"
+ ><a href="Polymorphism.html#thud"
+ ><span class="hs-identifier hs-type"
+ >thud</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1799,40 +2346,48 @@
>forall</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043683"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043682"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-operator"
>.</span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -1841,10 +2396,12 @@
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1853,47 +2410,66 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-63"
- ></a
- ><a name="thud"
- ><a href="Polymorphism.html#thud"
- ><span class="hs-identifier"
- >thud</span
- ></a
- ></a
+ ><span id="line-63"
+ ></span
+ ><span id="thud"
+ ><span class="annot"
+ ><span class="annottext"
+ >thud :: (a -&gt; b) -&gt; a -&gt; (a, b)
+</span
+ ><a href="Polymorphism.html#thud"
+ ><span class="hs-identifier hs-var hs-var"
+ >thud</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f</span
- ></a
- ></a
+ ><span id="local-6989586621679043681"
+ ><span class="annot"
+ ><span class="annottext"
+ >f :: a -&gt; b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043680"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1901,34 +2477,46 @@
><span
>
</span
- ><a name="line-64"
- ></a
+ ><span id="line-64"
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -1939,25 +2527,29 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-65"
- ></a
+ ><span id="line-65"
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -1965,16 +2557,21 @@
><span
>
</span
- ><a name="line-66"
- ></a
+ ><span id="line-66"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >y</span
- ></a
- ></a
+ ><span id="local-6989586621679043679"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -1983,53 +2580,69 @@
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-67"
- ></a
+ ><span id="line-67"
+ ></span
></pre
></body
></html