aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test
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
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')
-rw-r--r--hypsrc-test/ref/src/CPP.html197
-rw-r--r--hypsrc-test/ref/src/ClangCppBug.html306
-rw-r--r--hypsrc-test/ref/src/Classes.html1652
-rw-r--r--hypsrc-test/ref/src/Constructors.html1268
-rw-r--r--hypsrc-test/ref/src/Identifiers.html1485
-rw-r--r--hypsrc-test/ref/src/LinkingIdentifiers.html572
-rw-r--r--hypsrc-test/ref/src/Literals.html433
-rw-r--r--hypsrc-test/ref/src/Operators.html1540
-rw-r--r--hypsrc-test/ref/src/Polymorphism.html3047
-rw-r--r--hypsrc-test/ref/src/PositionPragmas.html172
-rw-r--r--hypsrc-test/ref/src/Records.html1346
-rw-r--r--hypsrc-test/ref/src/Types.html1022
-rw-r--r--hypsrc-test/src/ClangCppBug.hs21
-rw-r--r--hypsrc-test/src/LinkingIdentifiers.hs14
-rw-r--r--hypsrc-test/src/PositionPragmas.hs12
15 files changed, 8624 insertions, 4463 deletions
diff --git a/hypsrc-test/ref/src/CPP.html b/hypsrc-test/ref/src/CPP.html
index fb85bd2f..2ebcae90 100644
--- a/hypsrc-test/ref/src/CPP.html
+++ b/hypsrc-test/ref/src/CPP.html
@@ -11,8 +11,8 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></span
><span class="hs-keyword"
>module</span
><span
@@ -23,45 +23,48 @@
> </span
><span class="hs-keyword"
>where</span
- ><span
- >
-</span
- ><a name="line-3"
- ></a
- ><span
- >
-</span
- ><a name="line-4"
- ></a
><span class="hs-cpp"
- >#define SOMETHING1
+ >
+
+#define SOMETHING1
</span
><span
>
</span
- ><a name="line-6"
- ></a
- ><span class="hs-identifier"
- >foo</span
+ ><span id="line-6"
+ ></span
+ ><span class="annot"
+ ><a href="CPP.html#foo"
+ ><span class="hs-identifier hs-type"
+ >foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >String</span
+ >String</span
+ ></span
><span
>
</span
- ><a name="line-7"
- ></a
- ><a name="foo"
- ><a href="CPP.html#foo"
- ><span class="hs-identifier"
- >foo</span
- ></a
- ></a
+ ><span id="line-7"
+ ></span
+ ><span id="foo"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: String
+</span
+ ><a href="CPP.html#foo"
+ ><span class="hs-identifier hs-var hs-var"
+ >foo</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -74,142 +77,150 @@
-}</span
><span
> </span
+ ><span class="annot"
><span class="hs-string"
- >&quot;foo&quot;</span
- ><span
- >
-</span
- ><a name="line-10"
- ></a
- ><span
- >
-</span
- ><a name="line-11"
- ></a
+ >&quot;foo&quot;</span
+ ></span
><span class="hs-cpp"
- >#define SOMETHING2
+ >
+
+#define SOMETHING2
</span
><span
>
</span
- ><a name="line-13"
- ></a
- ><span class="hs-identifier"
- >bar</span
+ ><span id="line-13"
+ ></span
+ ><span class="annot"
+ ><a href="CPP.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >String</span
+ >String</span
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
- ><a name="bar"
- ><a href="CPP.html#bar"
- ><span class="hs-identifier"
- >bar</span
- ></a
- ></a
+ ><span id="line-14"
+ ></span
+ ><span id="bar"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: String
+</span
+ ><a href="CPP.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="annot"
><span class="hs-string"
- >&quot;block comment in a string is not a comment {- &quot;</span
- ><span
- >
-</span
- ><a name="line-15"
- ></a
- ><span
- >
-</span
- ><a name="line-16"
- ></a
+ >&quot;block comment in a string is not a comment {- &quot;</span
+ ></span
><span class="hs-cpp"
- >#define SOMETHING3
+ >
+
+#define SOMETHING3
</span
><span
>
</span
- ><a name="line-18"
- ></a
+ ><span id="line-18"
+ ></span
><span class="hs-comment"
>-- &quot; single quotes are fine in line comments</span
><span
>
</span
- ><a name="line-19"
- ></a
+ ><span id="line-19"
+ ></span
><span class="hs-comment"
>-- {- unclosed block comments are fine in line comments</span
><span
>
</span
- ><a name="line-20"
- ></a
+ ><span id="line-20"
+ ></span
><span
>
</span
- ><a name="line-21"
- ></a
+ ><span id="line-21"
+ ></span
><span class="hs-comment"
>-- Multiline CPP is also fine</span
- ><span
- >
-</span
- ><a name="line-22"
- ></a
><span class="hs-cpp"
- >#define FOO\
+ >
+#define FOO\
1
</span
><span
>
</span
- ><a name="line-25"
- ></a
- ><span class="hs-identifier"
- >baz</span
+ ><span id="line-25"
+ ></span
+ ><span class="annot"
+ ><a href="CPP.html#baz"
+ ><span class="hs-identifier hs-type"
+ >baz</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >String</span
+ >String</span
+ ></span
><span
>
</span
- ><a name="line-26"
- ></a
- ><a name="baz"
- ><a href="CPP.html#baz"
- ><span class="hs-identifier"
- >baz</span
- ></a
- ></a
+ ><span id="line-26"
+ ></span
+ ><span id="baz"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: String
+</span
+ ><a href="CPP.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="annot"
><span class="hs-string"
- >&quot;line comment in a string is not a comment --&quot;</span
+ >&quot;line comment in a string is not a comment --&quot;</span
+ ></span
><span
>
</span
- ><a name="line-27"
- ></a
+ ><span id="line-27"
+ ></span
></pre
></body
></html
diff --git a/hypsrc-test/ref/src/ClangCppBug.html b/hypsrc-test/ref/src/ClangCppBug.html
new file mode 100644
index 00000000..42d0cfc0
--- /dev/null
+++ b/hypsrc-test/ref/src/ClangCppBug.html
@@ -0,0 +1,306 @@
+<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-pragma"
+ >{-# LANGUAGE CPP #-}</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >ClangCppBug</span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
+</span
+ ><span id="line-3"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-4"
+ ></span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#foo"
+ ><span class="hs-identifier hs-type"
+ >foo</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span id="foo"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: Int
+</span
+ ><a href="ClangCppBug.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="annot"
+ ><span class="hs-number"
+ >1</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span class="hs-comment"
+ >-- Clang doesn't mind these:</span
+ ><span class="hs-cpp"
+ >
+#define BAX 2
+</span
+ ><span class="hs-pragma"
+ >{-# INLINE</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#bar"
+ ><span class="hs-pragma hs-type"
+ >bar</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-pragma"
+ >#-}</span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-11"
+ ></span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-12"
+ ></span
+ ><span id="bar"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: Int
+</span
+ ><a href="ClangCppBug.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="annot"
+ ><span class="hs-number"
+ >3</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-13"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-14"
+ ></span
+ ><span class="hs-comment"
+ >-- But it doesn't like this:</span
+ ><span
+ >
+</span
+ ><span id="line-15"
+ ></span
+ ><span class="hs-pragma"
+ >{-# RULES</span
+ ><span
+ >
+</span
+ ><span id="line-16"
+ ></span
+ ><span class="annot"
+ ><span class="hs-pragma"
+ >&quot;bar/qux&quot;</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#bar"
+ ><span class="hs-pragma hs-type"
+ >bar</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-pragma"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#qux"
+ ><span class="hs-pragma hs-type"
+ >qux</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-17"
+ ></span
+ ><span class="annot"
+ ><span class="hs-pragma"
+ >&quot;qux/foo&quot;</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#qux"
+ ><span class="hs-pragma hs-type"
+ >qux</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-pragma"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#foo"
+ ><span class="hs-pragma hs-type"
+ >foo</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-18"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-pragma"
+ >#-}</span
+ ><span
+ >
+</span
+ ><span id="line-20"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-21"
+ ></span
+ ><span class="annot"
+ ><a href="ClangCppBug.html#qux"
+ ><span class="hs-identifier hs-type"
+ >qux</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-22"
+ ></span
+ ><span id="qux"
+ ><span class="annot"
+ ><span class="annottext"
+ >qux :: Int
+</span
+ ><a href="ClangCppBug.html#qux"
+ ><span class="hs-identifier hs-var hs-var"
+ >qux</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >88</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-23"
+ ></span
+ ></pre
+ ></body
+ ></html
+> \ No newline at end of file
diff --git a/hypsrc-test/ref/src/Classes.html b/hypsrc-test/ref/src/Classes.html
index d2604e82..dd1e6ebc 100644
--- a/hypsrc-test/ref/src/Classes.html
+++ b/hypsrc-test/ref/src/Classes.html
@@ -19,36 +19,40 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></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 class="hs-keyword"
>class</span
><span
> </span
- ><a name="Foo"
- ><a href="Classes.html#Foo"
- ><span class="hs-identifier"
- >Foo</span
- ></a
- ></a
+ ><span id="Foo"
+ ><span class="annot"
+ ><a href="Classes.html#Foo"
+ ><span class="hs-identifier hs-var"
+ >Foo</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043524"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -56,55 +60,65 @@
><span
>
</span
- ><a name="line-5"
- ></a
+ ><span id="line-5"
+ ></span
><span
> </span
- ><a name="bar"
- ><a href="Classes.html#bar"
- ><span class="hs-identifier"
- >bar</span
- ></a
- ></a
+ ><span id="bar"
+ ><span class="annot"
+ ><a href="Classes.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
+ ></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"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-6"
- ></a
+ ><span id="line-6"
+ ></span
><span
> </span
- ><a name="baz"
- ><a href="Classes.html#baz"
- ><span class="hs-identifier"
- >baz</span
- ></a
- ></a
+ ><span id="baz"
+ ><span class="annot"
+ ><a href="Classes.html#baz"
+ ><span class="hs-identifier hs-type"
+ >baz</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -113,42 +127,50 @@
> </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"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-7"
- ></a
+ ><span id="line-7"
+ ></span
><span
>
</span
- ><a name="line-8"
- ></a
+ ><span id="line-8"
+ ></span
><span class="hs-keyword"
>instance</span
><span
> </span
+ ><span class="annot"
><a href="Classes.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -156,45 +178,66 @@
><span
>
</span
- ><a name="line-9"
- ></a
+ ><span id="line-9"
+ ></span
><span
> </span
- ><a name=""
- ><a href="Classes.html#bar"
- ><span class="hs-identifier"
- >bar</span
- ></a
- ></a
+ ><span id="local-6989586621679043488"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: Int -&gt; Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >bar</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >id</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int
+forall a. a -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >id</span
+ ></span
><span
>
</span
- ><a name="line-10"
- ></a
+ ><span id="line-10"
+ ></span
><span
> </span
- ><a name=""
- ><a href="Classes.html#baz"
- ><span class="hs-identifier"
- >baz</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043486"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: Int -&gt; (Int, Int)
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >baz</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043485"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -203,161 +246,201 @@
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</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"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-11"
- ></a
+ ><span id="line-11"
+ ></span
><span
>
</span
- ><a name="line-12"
- ></a
+ ><span id="line-12"
+ ></span
+ ><span id="local-6989586621679043484"
><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="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span
- > </span
- ><span class="hs-keyword"
- >where</span
- ><span
- >
+ >instance</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="Classes.html#Foo"
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></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-keyword"
+ >where</span
+ ><span
+ >
</span
- ><a name="line-13"
- ></a
- ><span
- > </span
- ><a name=""
- ><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 id="line-13"
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043481"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: [a] -&gt; Int
</span
- ><a name="line-14"
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="Classes.html#baz"
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >bar</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; Int
+forall (t :: * -&gt; *) a. Foldable t =&gt; t a -&gt; Int
+</span
+ ><span class="hs-identifier hs-var"
+ >length</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-14"
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043479"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: Int -&gt; ([a], [a])
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >baz</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
><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
+ > </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
>
</span
- ><a name="line-15"
- ></a
+ ><span id="line-15"
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
+ ><span id="line-17"
+ ></span
><span class="hs-keyword"
>class</span
><span
> </span
+ ><span class="annot"
><a href="Classes.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</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
> </span
><span class="hs-glyph"
>=&gt;</span
><span
> </span
- ><a name="Foo%27"
- ><a href="Classes.html#Foo%27"
- ><span class="hs-identifier"
- >Foo'</span
- ></a
- ></a
+ ><span id="Foo%27"
+ ><span class="annot"
+ ><a href="Classes.html#Foo%27"
+ ><span class="hs-identifier hs-var"
+ >Foo'</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043519"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -365,16 +448,18 @@
><span
>
</span
- ><a name="line-18"
- ></a
+ ><span id="line-18"
+ ></span
><span
> </span
- ><a name="quux"
- ><a href="Classes.html#quux"
- ><span class="hs-identifier"
- >quux</span
- ></a
- ></a
+ ><span id="quux"
+ ><span class="annot"
+ ><a href="Classes.html#quux"
+ ><span class="hs-identifier hs-type"
+ >quux</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -383,18 +468,22 @@
> </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"
- >a</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -403,91 +492,123 @@
>-&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-19"
- ></a
+ ><span id="line-19"
+ ></span
><span
> </span
- ><a name=""
- ><a href="Classes.html#quux"
- ><span class="hs-identifier"
- >quux</span
- ></a
- ></a
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
- ><span class="hs-special"
- >,</span
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><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="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
- ><span class="hs-special"
- >,</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
- ><span class="hs-special"
- >]</span
+ ><span id="local-6989586621679043477"
+ ><span class="annot"
+ ><a href="Classes.html#quux"
+ ><span class="hs-identifier hs-var hs-var"
+ >quux</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span id="local-6989586621679043476"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span id="local-6989586621679043475"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; a
+forall a. Foo' a =&gt; [a] -&gt; a
+</span
+ ><a href="Classes.html#norf"
+ ><span class="hs-identifier hs-var"
+ >norf</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ></span
><span
>
</span
- ><a name="line-20"
- ></a
+ ><span id="line-20"
+ ></span
><span
>
</span
- ><a name="line-21"
- ></a
+ ><span id="line-21"
+ ></span
><span
> </span
- ><a name="norf"
- ><a href="Classes.html#norf"
- ><span class="hs-identifier"
- >norf</span
- ></a
- ></a
+ ><span id="norf"
+ ><span class="annot"
+ ><a href="Classes.html#norf"
+ ><span class="hs-identifier hs-type"
+ >norf</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -496,10 +617,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
@@ -508,87 +631,145 @@
>-&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-22"
- ></a
+ ><span id="line-22"
+ ></span
><span
> </span
- ><a name=""
- ><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 id="local-6989586621679043473"
+ ><span class="annot"
+ ><a href="Classes.html#norf"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a, a) -&gt; a
+forall a. Foo' a =&gt; (a, a) -&gt; a
+</span
+ ><a href="Classes.html#quux"
+ ><span class="hs-identifier hs-var"
+ >quux</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >((a, a) -&gt; a) -&gt; ([a] -&gt; (a, a)) -&gt; [a] -&gt; a
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; (a, a)
+forall a. Foo a =&gt; Int -&gt; (a, a)
+</span
+ ><a href="Classes.html#baz"
+ ><span class="hs-identifier hs-var"
+ >baz</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Int -&gt; (a, a)) -&gt; ([a] -&gt; Int) -&gt; [a] -&gt; (a, a)
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Int] -&gt; Int
+forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >sum</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >([Int] -&gt; Int) -&gt; ([a] -&gt; [Int]) -&gt; [a] -&gt; Int
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a -&gt; Int) -&gt; [a] -&gt; [Int]
+forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
+</span
+ ><span class="hs-identifier hs-var"
+ >map</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; Int
+forall a. Foo a =&gt; a -&gt; Int
+</span
+ ><a href="Classes.html#bar"
+ ><span class="hs-identifier hs-var"
+ >bar</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-23"
- ></a
+ ><span id="line-23"
+ ></span
><span
>
</span
- ><a name="line-24"
- ></a
+ ><span id="line-24"
+ ></span
><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 id="local-6989586621679043468"
+ ><span class="annot"
+ ><a href="Classes.html#Foo%27"
+ ><span class="hs-identifier hs-type"
+ >Foo'</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -596,118 +777,154 @@
><span
>
</span
- ><a name="line-25"
- ></a
+ ><span id="line-25"
+ ></span
><span
> </span
- ><a name=""
- ><a href="Classes.html#norf"
- ><span class="hs-identifier"
- >norf</span
- ></a
- ></a
+ ><span id="local-6989586621679043465"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf :: [Int] -&gt; Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >norf</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >sum</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Int] -&gt; Int
+forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >sum</span
+ ></span
><span
>
</span
- ><a name="line-26"
- ></a
+ ><span id="line-26"
+ ></span
><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="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span
- > </span
+ ><span id="line-27"
+ ></span
+ ><span id="local-6989586621679043464"
><span class="hs-keyword"
- >where</span
- ><span
- >
+ >instance</span
+ ><span
+ > </span
+ ><span id="local-6989586621679043460"
+ ><span class="annot"
+ ><a href="Classes.html#Foo%27"
+ ><span class="hs-identifier hs-type"
+ >Foo'</span
+ ></a
+ ></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
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
</span
- ><a name="line-28"
- ></a
- ><span
- > </span
- ><a name=""
- ><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 id="line-28"
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043459"
+ ><span class="annot"
+ ><span class="annottext"
+ >quux :: ([a], [a]) -&gt; [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >quux</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >([a] -&gt; [a] -&gt; [a]) -&gt; ([a], [a]) -&gt; [a]
+forall a b c. (a -&gt; b -&gt; c) -&gt; (a, b) -&gt; c
+</span
+ ><span class="hs-identifier hs-var"
+ >uncurry</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><span class="hs-operator hs-var"
+ >(++)</span
+ ></span
+ ></span
><span
>
</span
- ><a name="line-29"
- ></a
+ ><span id="line-29"
+ ></span
><span
>
</span
- ><a name="line-30"
- ></a
+ ><span id="line-30"
+ ></span
><span
>
</span
- ><a name="line-31"
- ></a
+ ><span id="line-31"
+ ></span
><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 id="Plugh"
+ ><span class="annot"
+ ><a href="Classes.html#Plugh"
+ ><span class="hs-identifier hs-var"
+ >Plugh</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >p</span
- ></a
- ></a
+ ><span id="local-6989586621679043503"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >p</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -715,132 +932,164 @@
><span
>
</span
- ><a name="line-32"
- ></a
+ ><span id="line-32"
+ ></span
><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="#"
- ><span class="hs-identifier hs-type"
- >p</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><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"
- >p</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >p</span
- ></a
- ><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"
- >b</span
- ></a
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</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 id="local-6989586621679043505"
+ ><span id="local-6989586621679043506"
+ ><span id="plugh"
+ ><span class="annot"
+ ><a href="Classes.html#plugh"
+ ><span class="hs-identifier hs-type"
+ >plugh</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >p</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></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"
+ >p</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></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="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >p</span
+ ></a
+ ></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"
+ >b</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</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="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ></span
+ ></span
><span
>
</span
- ><a name="line-33"
- ></a
+ ><span id="line-33"
+ ></span
><span
>
</span
- ><a name="line-34"
- ></a
+ ><span id="line-34"
+ ></span
><span class="hs-keyword"
>instance</span
><span
> </span
+ ><span class="annot"
><a href="Classes.html#Plugh"
- ><span class="hs-identifier hs-type"
- >Plugh</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Plugh</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Either</span
+ >Either</span
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -848,30 +1097,42 @@
><span
>
</span
- ><a name="line-35"
- ></a
+ ><span id="line-35"
+ ></span
><span
> </span
- ><a name=""
- ><a href="Classes.html#plugh"
- ><span class="hs-identifier"
- >plugh</span
- ></a
- ></a
+ ><span id="local-6989586621679043454"
+ ><span class="annot"
+ ><span class="annottext"
+ >plugh :: Either a a -&gt; Either b b -&gt; Either (a -&gt; b) (b -&gt; a)
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var hs-var hs-var"
+ >plugh</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><span class="hs-identifier hs-var"
- >Left</span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Left</span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043453"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -884,45 +1145,80 @@
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >Right</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(b -&gt; a) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. b -&gt; Either a b
+</span
+ ><span class="hs-identifier hs-var"
+ >Right</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >((b -&gt; a) -&gt; Either (a -&gt; b) (b -&gt; a))
+-&gt; (b -&gt; a) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >const</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; b -&gt; a
+forall a b. a -&gt; b -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >const</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-36"
- ></a
+ ><span id="line-36"
+ ></span
><span
> </span
- ><span class="hs-identifier"
- >plugh</span
+ ><span class="annot"
+ ><a href="Classes.html#plugh"
+ ><span class="hs-identifier hs-var"
+ >plugh</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><span class="hs-identifier hs-var"
- >Right</span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Right</span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043451"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -935,31 +1231,59 @@
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >Right</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(b -&gt; a) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. b -&gt; Either a b
+</span
+ ><span class="hs-identifier hs-var"
+ >Right</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >((b -&gt; a) -&gt; Either (a -&gt; b) (b -&gt; a))
+-&gt; (b -&gt; a) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >const</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; b -&gt; a
+forall a b. a -&gt; b -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >const</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-37"
- ></a
+ ><span id="line-37"
+ ></span
><span
> </span
- ><span class="hs-identifier"
- >plugh</span
+ ><span class="annot"
+ ><a href="Classes.html#plugh"
+ ><span class="hs-identifier hs-var"
+ >plugh</span
+ ></a
+ ></span
><span
> </span
><span class="hs-identifier"
@@ -968,16 +1292,23 @@
> </span
><span class="hs-special"
>(</span
- ><span class="hs-identifier hs-var"
- >Left</span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Left</span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043450"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -986,31 +1317,59 @@
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >Left</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a -&gt; b) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. a -&gt; Either a b
+</span
+ ><span class="hs-identifier hs-var"
+ >Left</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >((a -&gt; b) -&gt; Either (a -&gt; b) (b -&gt; a))
+-&gt; (a -&gt; b) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >const</span
+ ><span class="annot"
+ ><span class="annottext"
+ >b -&gt; a -&gt; b
+forall a b. a -&gt; b -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >const</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-38"
- ></a
+ ><span id="line-38"
+ ></span
><span
> </span
- ><span class="hs-identifier"
- >plugh</span
+ ><span class="annot"
+ ><a href="Classes.html#plugh"
+ ><span class="hs-identifier hs-var"
+ >plugh</span
+ ></a
+ ></span
><span
> </span
><span class="hs-identifier"
@@ -1019,16 +1378,23 @@
> </span
><span class="hs-special"
>(</span
- ><span class="hs-identifier hs-var"
- >Right</span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Right</span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043449"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -1037,27 +1403,51 @@
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >Left</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a -&gt; b) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. a -&gt; Either a b
+</span
+ ><span class="hs-identifier hs-var"
+ >Left</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >((a -&gt; b) -&gt; Either (a -&gt; b) (b -&gt; a))
+-&gt; (a -&gt; b) -&gt; Either (a -&gt; b) (b -&gt; a)
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >const</span
+ ><span class="annot"
+ ><span class="annottext"
+ >b -&gt; a -&gt; b
+forall a b. a -&gt; b -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >const</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-39"
- ></a
+ ><span id="line-39"
+ ></span
></pre
></body
></html
diff --git a/hypsrc-test/ref/src/Constructors.html b/hypsrc-test/ref/src/Constructors.html
index e35ca0b1..6cdf07db 100644
--- a/hypsrc-test/ref/src/Constructors.html
+++ b/hypsrc-test/ref/src/Constructors.html
@@ -19,375 +19,489 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></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 class="hs-keyword"
>data</span
><span
> </span
- ><a name="Foo"
- ><a href="Constructors.html#Foo"
- ><span class="hs-identifier"
- >Foo</span
- ></a
- ></a
+ ><span id="Foo"
+ ><span class="annot"
+ ><a href="Constructors.html#Foo"
+ ><span class="hs-identifier hs-var"
+ >Foo</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-5"
- ></a
+ ><span id="line-5"
+ ></span
><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 id="Bar"
+ ><span class="annot"
+ ><a href="Constructors.html#Bar"
+ ><span class="hs-identifier hs-var"
+ >Bar</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-6"
- ></a
+ ><span id="line-6"
+ ></span
><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 id="Baz"
+ ><span class="annot"
+ ><a href="Constructors.html#Baz"
+ ><span class="hs-identifier hs-var"
+ >Baz</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-7"
- ></a
+ ><span id="line-7"
+ ></span
><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 id="Quux"
+ ><span class="annot"
+ ><a href="Constructors.html#Quux"
+ ><span class="hs-identifier hs-var"
+ >Quux</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-8"
- ></a
+ ><span id="line-8"
+ ></span
><span
>
</span
- ><a name="line-9"
- ></a
+ ><span id="line-9"
+ ></span
><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 id="Norf"
+ ><span class="annot"
+ ><a href="Constructors.html#Norf"
+ ><span class="hs-identifier hs-var"
+ >Norf</span
+ ></a
+ ></span
+ ></span
><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 id="Norf"
+ ><span class="annot"
+ ><a href="Constructors.html#Norf"
+ ><span class="hs-identifier hs-var"
+ >Norf</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
><span class="hs-special"
>[</span
+ ><span class="annot"
><a href="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>]</span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-10"
- ></a
+ ><span id="line-10"
+ ></span
><span
>
</span
- ><a name="line-11"
- ></a
+ ><span id="line-11"
+ ></span
><span
>
</span
- ><a name="line-12"
- ></a
- ><span class="hs-identifier"
- >bar</span
+ ><span id="line-12"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >baz</span
+ ><span class="annot"
+ ><a href="Constructors.html#baz"
+ ><span class="hs-identifier hs-type"
+ >baz</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >quux</span
+ ><span class="annot"
+ ><a href="Constructors.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="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-13"
- ></a
- ><a name="bar"
- ><a href="Constructors.html#bar"
- ><span class="hs-identifier"
- >bar</span
- ></a
- ></a
+ ><span id="line-13"
+ ></span
+ ><span id="bar"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: Foo
+</span
+ ><a href="Constructors.html#bar"
+ ><span class="hs-identifier hs-var hs-var"
+ >bar</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Constructors.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="Constructors.html#Bar"
+ ><span class="hs-identifier hs-var"
+ >Bar</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
- ><a name="baz"
- ><a href="Constructors.html#baz"
- ><span class="hs-identifier"
- >baz</span
- ></a
- ></a
+ ><span id="line-14"
+ ></span
+ ><span id="baz"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: Foo
+</span
+ ><a href="Constructors.html#baz"
+ ><span class="hs-identifier hs-var hs-var"
+ >baz</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Constructors.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="Constructors.html#Baz"
+ ><span class="hs-identifier hs-var"
+ >Baz</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-15"
- ></a
- ><a name="quux"
- ><a href="Constructors.html#quux"
- ><span class="hs-identifier"
- >quux</span
- ></a
- ></a
+ ><span id="line-15"
+ ></span
+ ><span id="quux"
+ ><span class="annot"
+ ><span class="annottext"
+ >quux :: Foo
+</span
+ ><a href="Constructors.html#quux"
+ ><span class="hs-identifier hs-var hs-var"
+ >quux</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Constructors.html#Quux"
- ><span class="hs-identifier hs-var"
- >Quux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int -&gt; Foo
+</span
+ ><a href="Constructors.html#Quux"
+ ><span class="hs-identifier hs-var"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
- ><a href="Constructors.html#quux"
- ><span class="hs-identifier hs-var"
- >quux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="Constructors.html#quux"
+ ><span class="hs-identifier hs-var"
+ >quux</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
+ ><span id="line-17"
+ ></span
><span
>
</span
- ><a name="line-18"
- ></a
- ><span class="hs-identifier"
- >unfoo</span
+ ><span id="line-18"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-type"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></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 id="line-19"
+ ></span
+ ><span id="unfoo"
+ ><span class="annot"
+ ><span class="annottext"
+ >unfoo :: Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var hs-var"
+ >unfoo</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-20"
- ></a
- ><span class="hs-identifier"
- >unfoo</span
+ ><span id="line-20"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-21"
- ></a
- ><span class="hs-identifier"
- >unfoo</span
+ ><span id="line-21"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Quux"
- ><span class="hs-identifier hs-var"
- >Quux</span
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >foo</span
+ ><span class="hs-identifier hs-type"
+ >Quux</span
></a
- ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >n</span
- ></a
- ></a
+ ><span id="local-6989586621679043545"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >foo</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043544"
+ ><span class="annot"
+ ><span class="annottext"
+ >n :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >n</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -396,61 +510,96 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >42</span
+ >42</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >n</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >n</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="Constructors.html#unfoo"
- ><span class="hs-identifier hs-var"
- >unfoo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >foo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >foo</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-22"
- ></a
+ ><span id="line-22"
+ ></span
><span
>
</span
- ><a name="line-23"
- ></a
+ ><span id="line-23"
+ ></span
><span
>
</span
- ><a name="line-24"
- ></a
- ><span class="hs-identifier"
- >unnorf</span
+ ><span id="line-24"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unnorf"
+ ><span class="hs-identifier hs-type"
+ >unnorf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Norf"
- ><span class="hs-identifier hs-type"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -459,57 +608,75 @@
> </span
><span class="hs-special"
>[</span
+ ><span class="annot"
><a href="Constructors.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><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 id="line-25"
+ ></span
+ ><span id="unnorf"
+ ><span class="annot"
+ ><span class="annottext"
+ >unnorf :: Norf -&gt; [Foo]
+</span
+ ><a href="Constructors.html#unnorf"
+ ><span class="hs-identifier hs-var hs-var"
+ >unnorf</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Norf"
- ><span class="hs-identifier hs-var"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >xs</span
- ></a
- ></a
+ ><span id="local-6989586621679043540"
+ ><span class="annot"
+ ><span class="annottext"
+ >xs :: [Foo]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >xs</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span class="hs-special"
@@ -520,51 +687,71 @@
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >xs</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[Foo]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >xs</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-26"
- ></a
- ><span class="hs-identifier"
- >unnorf</span
+ ><span id="line-26"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unnorf"
+ ><span class="hs-identifier hs-var"
+ >unnorf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Norf"
- ><span class="hs-identifier hs-var"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >xs</span
- ></a
- ></a
+ ><span id="local-6989586621679043539"
+ ><span class="annot"
+ ><span class="annottext"
+ >xs :: [Foo]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >xs</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span class="hs-special"
@@ -575,21 +762,36 @@
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >reverse</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Foo] -&gt; [Foo]
+forall a. [a] -&gt; [a]
+</span
+ ><span class="hs-identifier hs-var"
+ >reverse</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >xs</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[Foo]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >xs</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-27"
- ></a
- ><span class="hs-identifier"
- >unnorf</span
+ ><span id="line-27"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unnorf"
+ ><span class="hs-identifier hs-var"
+ >unnorf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-identifier"
@@ -600,100 +802,138 @@
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >undefined</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Foo]
+forall a. HasCallStack =&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >undefined</span
+ ></span
><span
>
</span
- ><a name="line-28"
- ></a
+ ><span id="line-28"
+ ></span
><span
>
</span
- ><a name="line-29"
- ></a
+ ><span id="line-29"
+ ></span
><span
>
</span
- ><a name="line-30"
- ></a
- ><span class="hs-identifier"
- >unnorf'</span
+ ><span id="line-30"
+ ></span
+ ><span class="annot"
+ ><a href="Constructors.html#unnorf%27"
+ ><span class="hs-identifier hs-type"
+ >unnorf'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Constructors.html#Norf"
- ><span class="hs-identifier hs-type"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></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=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="line-31"
+ ></span
+ ><span id="unnorf%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >unnorf' :: Norf -&gt; Int
+</span
+ ><a href="Constructors.html#unnorf%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >unnorf'</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043535"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Norf
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span class="hs-glyph"
>@</span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Norf"
- ><span class="hs-identifier hs-var"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f1</span
- ></a
- ></a
+ ><span id="local-6989586621679043534"
+ ><span class="annot"
+ ><span class="annottext"
+ >f1 :: Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f1</span
+ ></a
+ ></span
+ ></span
><span class="hs-glyph"
>@</span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Quux"
- ><span class="hs-identifier hs-var"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
><span class="hs-identifier"
>_</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >n</span
- ></a
- ></a
+ ><span id="local-6989586621679043533"
+ ><span class="annot"
+ ><span class="annottext"
+ >n :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >n</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span class="hs-special"
@@ -706,28 +946,40 @@
>,</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f2</span
- ></a
- ></a
+ ><span id="local-6989586621679043532"
+ ><span class="annot"
+ ><span class="annottext"
+ >f2 :: Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f2</span
+ ></a
+ ></span
+ ></span
><span class="hs-glyph"
>@</span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Constructors.html#Quux"
- ><span class="hs-identifier hs-var"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >f3</span
- ></a
- ></a
+ ><span id="local-6989586621679043531"
+ ><span class="annot"
+ ><span class="annottext"
+ >f3 :: Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f3</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-identifier"
@@ -745,61 +997,109 @@
><span
>
</span
- ><a name="line-32"
- ></a
+ ><span id="line-32"
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x'</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x'</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >n</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >n</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="Constructors.html#unfoo"
- ><span class="hs-identifier hs-var"
- >unfoo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f1</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f1</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >aux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >aux</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f3</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f3</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-33"
- ></a
+ ><span id="line-33"
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -807,132 +1107,234 @@
><span
>
</span
- ><a name="line-34"
- ></a
+ ><span id="line-34"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >aux</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >fx</span
- ></a
- ></a
+ ><span id="local-6989586621679043529"
+ ><span class="annot"
+ ><span class="annottext"
+ >aux :: Foo -&gt; Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >aux</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043528"
+ ><span class="annot"
+ ><span class="annottext"
+ >fx :: Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >fx</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Constructors.html#unfoo"
- ><span class="hs-identifier hs-var"
- >unfoo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f2</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f2</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="Constructors.html#unfoo"
- ><span class="hs-identifier hs-var"
- >unfoo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >fx</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >fx</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="Constructors.html#unfoo"
- ><span class="hs-identifier hs-var"
- >unfoo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >f3</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >f3</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-35"
- ></a
+ ><span id="line-35"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x'</span
- ></a
- ></a
+ ><span id="local-6989586621679043530"
+ ><span class="annot"
+ ><span class="annottext"
+ >x' :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >x'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >sum</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Int] -&gt; Int
+forall (t :: * -&gt; *) a. (Foldable t, Num a) =&gt; t a -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >sum</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >.</span
+ ><span class="annot"
+ ><span class="annottext"
+ >([Int] -&gt; Int) -&gt; (Norf -&gt; [Int]) -&gt; Norf -&gt; Int
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >map</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Foo -&gt; Int) -&gt; [Foo] -&gt; [Int]
+forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
+</span
+ ><span class="hs-identifier hs-var"
+ >map</span
+ ></span
><span
> </span
- ><a href="Constructors.html#unfoo"
- ><span class="hs-identifier hs-var"
- >unfoo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Foo -&gt; Int
+</span
+ ><a href="Constructors.html#unfoo"
+ ><span class="hs-identifier hs-var"
+ >unfoo</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >.</span
+ ><span class="annot"
+ ><span class="annottext"
+ >([Foo] -&gt; [Int]) -&gt; (Norf -&gt; [Foo]) -&gt; Norf -&gt; [Int]
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
><span
> </span
- ><a href="Constructors.html#unnorf"
- ><span class="hs-identifier hs-var"
- >unnorf</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Norf -&gt; [Foo]
+</span
+ ><a href="Constructors.html#unnorf"
+ ><span class="hs-identifier hs-var"
+ >unnorf</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Norf -&gt; Int) -&gt; Norf -&gt; Int
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Norf
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-36"
- ></a
+ ><span id="line-36"
+ ></span
></pre
></body
></html
diff --git a/hypsrc-test/ref/src/Identifiers.html b/hypsrc-test/ref/src/Identifiers.html
index ce69ad37..301761c1 100644
--- a/hypsrc-test/ref/src/Identifiers.html
+++ b/hypsrc-test/ref/src/Identifiers.html
@@ -19,641 +19,1040 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></span
><span
>
</span
- ><a name="line-3"
- ></a
+ ><span id="line-3"
+ ></span
><span
>
</span
- ><a name="line-4"
- ></a
- ><span class="hs-identifier"
- >foo</span
+ ><span id="line-4"
+ ></span
+ ><span class="annot"
+ ><a href="Identifiers.html#foo"
+ ><span class="hs-identifier hs-type"
+ >foo</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >bar</span
+ ><span class="annot"
+ ><a href="Identifiers.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >baz</span
+ ><span class="annot"
+ ><a href="Identifiers.html#baz"
+ ><span class="hs-identifier hs-type"
+ >baz</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-5"
- ></a
- ><a name="foo"
- ><a href="Identifiers.html#foo"
- ><span class="hs-identifier"
- >foo</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"
- >y</span
- ></a
- ></a
+ ><span id="line-5"
+ ></span
+ ><span id="foo"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#foo"
+ ><span class="hs-identifier hs-var hs-var"
+ >foo</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043592"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043591"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</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
- > </span
- ><span class="hs-operator hs-var"
- >+</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="Identifiers.html#bar"
- ><span class="hs-identifier hs-var"
- >bar</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#bar"
+ ><span class="hs-identifier hs-var"
+ >bar</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
- ><span
- >
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
</span
- ><a name="line-6"
- ></a
- ><a name="bar"
- ><a href="Identifiers.html#bar"
- ><span class="hs-identifier"
- >bar</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
></a
- ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
>y</span
></a
- ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span id="bar"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#bar"
+ ><span class="hs-identifier hs-var hs-var"
+ >bar</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043588"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043587"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
- ><span
- > </span
- ><span class="hs-operator hs-var"
- >+</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-glyph"
- >-</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="Identifiers.html#baz"
- ><span class="hs-identifier hs-var"
- >baz</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-glyph hs-var"
+ >-</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#baz"
+ ><span class="hs-identifier hs-var"
+ >baz</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-glyph"
- >-</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-glyph hs-var"
+ >-</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
- ><span
- >
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
</span
- ><a name="line-7"
- ></a
- ><a name="baz"
- ><a href="Identifiers.html#baz"
- ><span class="hs-identifier"
- >baz</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
></a
- ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
>y</span
></a
- ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span id="baz"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#baz"
+ ><span class="hs-identifier hs-var hs-var"
+ >baz</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043586"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043585"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</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"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-8"
- ></a
+ ><span id="line-8"
+ ></span
><span
>
</span
- ><a name="line-9"
- ></a
- ><span class="hs-identifier"
- >quux</span
+ ><span id="line-9"
+ ></span
+ ><span class="annot"
+ ><a href="Identifiers.html#quux"
+ ><span class="hs-identifier hs-type"
+ >quux</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-10"
- ></a
- ><a name="quux"
- ><a href="Identifiers.html#quux"
- ><span class="hs-identifier"
- >quux</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="line-10"
+ ></span
+ ><span id="quux"
+ ><span class="annot"
+ ><span class="annottext"
+ >quux :: Int -&gt; Int
+</span
+ ><a href="Identifiers.html#quux"
+ ><span class="hs-identifier hs-var hs-var"
+ >quux</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043583"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</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="Identifiers.html#foo"
- ><span class="hs-identifier hs-var"
- >foo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#foo"
+ ><span class="hs-identifier hs-var"
+ >foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="Identifiers.html#bar"
- ><span class="hs-identifier hs-var"
- >bar</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#bar"
+ ><span class="hs-identifier hs-var"
+ >bar</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="Identifiers.html#bar"
- ><span class="hs-identifier hs-var"
- >bar</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#bar"
+ ><span class="hs-identifier hs-var"
+ >bar</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-11"
- ></a
+ ><span id="line-11"
+ ></span
><span
>
</span
- ><a name="line-12"
- ></a
- ><span class="hs-identifier"
- >norf</span
+ ><span id="line-12"
+ ></span
+ ><span class="annot"
+ ><a href="Identifiers.html#norf"
+ ><span class="hs-identifier hs-type"
+ >norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-13"
- ></a
- ><a name="norf"
- ><a href="Identifiers.html#norf"
- ><span class="hs-identifier"
- >norf</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"
- >y</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >z</span
- ></a
- ></a
+ ><span id="line-13"
+ ></span
+ ><span id="norf"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf :: Int -&gt; Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#norf"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043581"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043580"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043579"
+ ><span class="annot"
+ ><span class="annottext"
+ >z :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >z</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
+ ><span id="line-14"
+ ></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"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >&lt;</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Bool
+forall a. Ord a =&gt; a -&gt; a -&gt; Bool
+</span
+ ><span class="hs-operator hs-var"
+ >&lt;</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Identifiers.html#quux"
- ><span class="hs-identifier hs-var"
- >quux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int
+</span
+ ><a href="Identifiers.html#quux"
+ ><span class="hs-identifier hs-var"
+ >quux</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-15"
- ></a
+ ><span id="line-15"
+ ></span
><span
> </span
><span class="hs-glyph"
>|</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >&lt;</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Bool
+forall a. Ord a =&gt; a -&gt; a -&gt; Bool
+</span
+ ><span class="hs-operator hs-var"
+ >&lt;</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Identifiers.html#quux"
- ><span class="hs-identifier hs-var"
- >quux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int
+</span
+ ><a href="Identifiers.html#quux"
+ ><span class="hs-identifier hs-var"
+ >quux</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
> </span
><span class="hs-glyph"
>|</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >z</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >z</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >&lt;</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Bool
+forall a. Ord a =&gt; a -&gt; a -&gt; Bool
+</span
+ ><span class="hs-operator hs-var"
+ >&lt;</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Identifiers.html#quux"
- ><span class="hs-identifier hs-var"
- >quux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int
+</span
+ ><a href="Identifiers.html#quux"
+ ><span class="hs-identifier hs-var"
+ >quux</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >z</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >z</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
+ ><span id="line-17"
+ ></span
><span
> </span
><span class="hs-glyph"
>|</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >otherwise</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Bool
+</span
+ ><span class="hs-identifier hs-var"
+ >otherwise</span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Identifiers.html#norf"
- ><span class="hs-identifier hs-var"
- >norf</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#norf"
+ ><span class="hs-identifier hs-var"
+ >norf</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-glyph"
>-</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -662,10 +1061,15 @@
>(</span
><span class="hs-glyph"
>-</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -674,37 +1078,48 @@
>(</span
><span class="hs-glyph"
>-</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >z</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >z</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-18"
- ></a
+ ><span id="line-18"
+ ></span
><span
>
</span
- ><a name="line-19"
- ></a
+ ><span id="line-19"
+ ></span
><span
>
</span
- ><a name="line-20"
- ></a
- ><span class="hs-identifier"
- >main</span
+ ><span id="line-20"
+ ></span
+ ><span class="annot"
+ ><a href="Identifiers.html#main"
+ ><span class="hs-identifier hs-type"
+ >main</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >IO</span
+ >IO</span
+ ></span
><span
> </span
><span class="hs-special"
@@ -714,14 +1129,19 @@
><span
>
</span
- ><a name="line-21"
- ></a
- ><a name="main"
- ><a href="Identifiers.html#main"
- ><span class="hs-identifier"
- >main</span
- ></a
- ></a
+ ><span id="line-21"
+ ></span
+ ><span id="main"
+ ><span class="annot"
+ ><span class="annottext"
+ >main :: IO ()
+</span
+ ><a href="Identifiers.html#main"
+ ><span class="hs-identifier hs-var hs-var"
+ >main</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -733,125 +1153,239 @@
><span
>
</span
- ><a name="line-22"
- ></a
+ ><span id="line-22"
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >putStrLn</span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; IO ()
+</span
+ ><span class="hs-identifier hs-var"
+ >putStrLn</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >.</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(String -&gt; IO ()) -&gt; (Int -&gt; String) -&gt; Int -&gt; IO ()
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >show</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; String
+forall a. Show a =&gt; a -&gt; String
+</span
+ ><span class="hs-identifier hs-var"
+ >show</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Int -&gt; IO ()) -&gt; Int -&gt; IO ()
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><a href="Identifiers.html#foo"
- ><span class="hs-identifier hs-var"
- >foo</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#foo"
+ ><span class="hs-identifier hs-var"
+ >foo</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-23"
- ></a
+ ><span id="line-23"
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >putStrLn</span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; IO ()
+</span
+ ><span class="hs-identifier hs-var"
+ >putStrLn</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >.</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(String -&gt; IO ()) -&gt; (Int -&gt; String) -&gt; Int -&gt; IO ()
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >show</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; String
+forall a. Show a =&gt; a -&gt; String
+</span
+ ><span class="hs-identifier hs-var"
+ >show</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Int -&gt; IO ()) -&gt; Int -&gt; IO ()
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><a href="Identifiers.html#quux"
- ><span class="hs-identifier hs-var"
- >quux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int
+</span
+ ><a href="Identifiers.html#quux"
+ ><span class="hs-identifier hs-var"
+ >quux</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >z</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >z</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-24"
- ></a
+ ><span id="line-24"
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >putStrLn</span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; IO ()
+</span
+ ><span class="hs-identifier hs-var"
+ >putStrLn</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >.</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(String -&gt; IO ()) -&gt; (Int -&gt; String) -&gt; Int -&gt; IO ()
+forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
+</span
+ ><span class="hs-operator hs-var"
+ >.</span
+ ></span
><span
> </span
- ><span class="hs-identifier hs-var"
- >show</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; String
+forall a. Show a =&gt; a -&gt; String
+</span
+ ><span class="hs-identifier hs-var"
+ >show</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Int -&gt; IO ()) -&gt; Int -&gt; IO ()
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
- ><a href="Identifiers.html#norf"
- ><span class="hs-identifier hs-var"
- >Identifiers.norf</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int -&gt; Int
+</span
+ ><a href="Identifiers.html#norf"
+ ><span class="hs-identifier hs-var"
+ >Identifiers.norf</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >z</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >z</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-25"
- ></a
+ ><span id="line-25"
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -859,72 +1393,93 @@
><span
>
</span
- ><a name="line-26"
- ></a
+ ><span id="line-26"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043573"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >10</span
+ >10</span
+ ></span
><span
>
</span
- ><a name="line-27"
- ></a
+ ><span id="line-27"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >y</span
- ></a
- ></a
+ ><span id="local-6989586621679043572"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >20</span
+ >20</span
+ ></span
><span
>
</span
- ><a name="line-28"
- ></a
+ ><span id="line-28"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >z</span
- ></a
- ></a
+ ><span id="local-6989586621679043571"
+ ><span class="annot"
+ ><span class="annottext"
+ >z :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >z</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >30</span
+ >30</span
+ ></span
><span
>
</span
- ><a name="line-29"
- ></a
+ ><span id="line-29"
+ ></span
></pre
></body
></html
->
+> \ No newline at end of file
diff --git a/hypsrc-test/ref/src/LinkingIdentifiers.html b/hypsrc-test/ref/src/LinkingIdentifiers.html
new file mode 100644
index 00000000..2ef590bd
--- /dev/null
+++ b/hypsrc-test/ref/src/LinkingIdentifiers.html
@@ -0,0 +1,572 @@
+<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-comment"
+ >-- Tests that the identifers/operators are properly linked even when:</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span class="hs-comment"
+ >--</span
+ ><span
+ >
+</span
+ ><span id="line-3"
+ ></span
+ ><span class="hs-comment"
+ >-- * backquoted, parenthesized, vanilla</span
+ ><span
+ >
+</span
+ ><span id="line-4"
+ ></span
+ ><span class="hs-comment"
+ >-- * qualified, not-qualified</span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span class="hs-comment"
+ >--</span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >LinkingIdentifiers</span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span class="annot"
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-identifier hs-type"
+ >ident</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-9"
+ ></span
+ ><span id="local-6989586621679043611"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="ident"
+ ><span class="annot"
+ ><span class="annottext"
+ >ident :: Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-operator hs-var hs-var"
+ >`ident`</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-number"
+ >2</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-operator hs-var"
+ >`ident`</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-operator hs-var"
+ >`LinkingIdentifiers.ident`</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ><span class="annot"
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-identifier hs-var"
+ >ident</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043609"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-number"
+ >2</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-identifier hs-var"
+ >ident</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#ident"
+ ><span class="hs-identifier hs-var"
+ >LinkingIdentifiers.ident</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-11"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-12"
+ ></span
+ ><span class="annot"
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-type"
+ >(++:++)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Int</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-13"
+ ></span
+ ><span id="local-6989586621679043607"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="%2B%2B%3A%2B%2B"
+ ><span class="annot"
+ ><span class="annottext"
+ >++:++ :: Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-var hs-var"
+ >++:++</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-number"
+ >2</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-var"
+ >++:++</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-var"
+ >LinkingIdentifiers.++:++</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ >
+</span
+ ><span id="line-14"
+ ></span
+ ><span class="annot"
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-var"
+ >(++:++)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043606"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-number"
+ >2</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-var"
+ >(++:++)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+</span
+ ><a href="LinkingIdentifiers.html#%2B%2B%3A%2B%2B"
+ ><span class="hs-operator hs-var"
+ >(LinkingIdentifiers.++:++)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-number"
+ >2</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-15"
+ ></span
+ ></pre
+ ></body
+ ></html
+> \ No newline at end of file
diff --git a/hypsrc-test/ref/src/Literals.html b/hypsrc-test/ref/src/Literals.html
index dfcefc97..62ea32dd 100644
--- a/hypsrc-test/ref/src/Literals.html
+++ b/hypsrc-test/ref/src/Literals.html
@@ -19,238 +19,334 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></span
><span
>
</span
- ><a name="line-3"
- ></a
+ ><span id="line-3"
+ ></span
><span
>
</span
- ><a name="line-4"
- ></a
- ><span class="hs-identifier"
- >str</span
+ ><span id="line-4"
+ ></span
+ ><span class="annot"
+ ><a href="Literals.html#str"
+ ><span class="hs-identifier hs-type"
+ >str</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >String</span
+ >String</span
+ ></span
><span
>
</span
- ><a name="line-5"
- ></a
- ><a name="str"
- ><a href="Literals.html#str"
- ><span class="hs-identifier"
- >str</span
- ></a
- ></a
+ ><span id="line-5"
+ ></span
+ ><span id="str"
+ ><span class="annot"
+ ><span class="annottext"
+ >str :: String
+</span
+ ><a href="Literals.html#str"
+ ><span class="hs-identifier hs-var hs-var"
+ >str</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-string"
- >&quot;str literal&quot;</span
+ >&quot;str literal&quot;</span
+ ></span
><span
>
</span
- ><a name="line-6"
- ></a
+ ><span id="line-6"
+ ></span
><span
>
</span
- ><a name="line-7"
- ></a
- ><span class="hs-identifier"
- >num</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-identifier hs-type"
- >Num</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 id="line-7"
+ ></span
+ ><span id="local-6989586621679043622"
+ ><span class="annot"
+ ><a href="Literals.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
- ><a name="line-8"
- ></a
- ><a name="num"
- ><a href="Literals.html#num"
- ><span class="hs-identifier"
- >num</span
- ></a
- ></a
+ ><span id="line-8"
+ ></span
+ ><span id="num"
+ ><span class="annot"
+ ><span class="annottext"
+ >num :: a
+</span
+ ><a href="Literals.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="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >1</span
+ >1</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >1010011</span
+ >1010011</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >41231</span
+ >41231</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >a -&gt; a -&gt; a
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >12131</span
+ >12131</span
+ ></span
><span
>
</span
- ><a name="line-9"
- ></a
+ ><span id="line-9"
+ ></span
><span
>
</span
- ><a name="line-10"
- ></a
- ><span class="hs-identifier"
- >frac</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-identifier hs-type"
- >Fractional</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 id="line-10"
+ ></span
+ ><span id="local-6989586621679043618"
+ ><span class="annot"
+ ><a href="Literals.html#frac"
+ ><span class="hs-identifier hs-type"
+ >frac</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Fractional</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
- ><a name="line-11"
- ></a
- ><a name="frac"
- ><a href="Literals.html#frac"
- ><span class="hs-identifier"
- >frac</span
- ></a
- ></a
+ ><span id="line-11"
+ ></span
+ ><span id="frac"
+ ><span class="annot"
+ ><span class="annottext"
+ >frac :: a
+</span
+ ><a href="Literals.html#frac"
+ ><span class="hs-identifier hs-var hs-var"
+ >frac</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >42.0000001</span
+ >42.0000001</span
+ ></span
><span
>
</span
- ><a name="line-12"
- ></a
+ ><span id="line-12"
+ ></span
><span
>
</span
- ><a name="line-13"
- ></a
- ><span class="hs-identifier"
- >list</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
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span class="hs-special"
- >]</span
- ><span class="hs-special"
- >]</span
- ><span class="hs-special"
- >]</span
+ ><span id="line-13"
+ ></span
+ ><span id="local-6989586621679043616"
+ ><span class="annot"
+ ><a href="Literals.html#list"
+ ><span class="hs-identifier hs-type"
+ >list</span
+ ></a
+ ></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 class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ><span class="hs-special"
+ >]</span
+ ><span class="hs-special"
+ >]</span
+ ><span class="hs-special"
+ >]</span
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
- ><a name="list"
- ><a href="Literals.html#list"
- ><span class="hs-identifier"
- >list</span
- ></a
- ></a
+ ><span id="line-14"
+ ></span
+ ><span id="list"
+ ><span class="annot"
+ ><span class="annottext"
+ >list :: [[[[a]]]]
+</span
+ ><a href="Literals.html#list"
+ ><span class="hs-identifier hs-var hs-var"
+ >list</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -296,15 +392,19 @@
><span
>
</span
- ><a name="line-15"
- ></a
+ ><span id="line-15"
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
- ><span class="hs-identifier"
- >pair</span
+ ><span id="line-16"
+ ></span
+ ><span class="annot"
+ ><a href="Literals.html#pair"
+ ><span class="hs-identifier hs-type"
+ >pair</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -358,14 +458,19 @@
><span
>
</span
- ><a name="line-17"
- ></a
- ><a name="pair"
- ><a href="Literals.html#pair"
- ><span class="hs-identifier"
- >pair</span
- ></a
- ></a
+ ><span id="line-17"
+ ></span
+ ><span id="pair"
+ ><span class="annot"
+ ><span class="annottext"
+ >pair :: ((), ((), (), ()), ())
+</span
+ ><a href="Literals.html#pair"
+ ><span class="hs-identifier hs-var hs-var"
+ >pair</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -419,8 +524,8 @@
><span
>
</span
- ><a name="line-18"
- ></a
+ ><span id="line-18"
+ ></span
></pre
></body
></html
diff --git a/hypsrc-test/ref/src/Operators.html b/hypsrc-test/ref/src/Operators.html
index 8ce0b9ce..403954cf 100644
--- a/hypsrc-test/ref/src/Operators.html
+++ b/hypsrc-test/ref/src/Operators.html
@@ -19,311 +19,414 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></span
><span
>
</span
- ><a name="line-3"
- ></a
+ ><span id="line-3"
+ ></span
><span
>
</span
- ><a name="line-4"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >+++</span
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
+ ><span id="line-4"
+ ></span
+ ><span id="local-6989586621679043657"
+ ><span class="annot"
+ ><a href="Operators.html#%2B%2B%2B"
+ ><span class="hs-operator hs-type"
+ >(+++)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</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"
+ >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"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ></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"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span id="local-6989586621679043655"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="%2B%2B%2B"
+ ><span class="annot"
+ ><span class="annottext"
+ >+++ :: [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2B%2B%2B"
+ ><span class="hs-operator hs-var hs-var"
+ >+++</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043654"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
+ >=</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 class="annot"
+ ><span class="annottext"
+ >[a]
</span
- ><a name="line-5"
- ></a
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
>a</span
></a
- ></a
+ ></span
><span
> </span
- ><a name="%2B%2B%2B"
- ><a href="Operators.html#%2B%2B%2B"
- ><span class="hs-operator"
- >+++</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><span class="hs-operator hs-var"
+ >++</span
+ ></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"
>b</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
- ><span
- > </span
- ><span class="hs-operator hs-var"
- >++</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >++</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><span class="hs-operator hs-var"
+ >++</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-6"
- ></a
+ ><span id="line-6"
+ ></span
><span
>
</span
- ><a name="line-7"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >$$$</span
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
+ ><span id="line-7"
+ ></span
+ ><span id="local-6989586621679043653"
+ ><span class="annot"
+ ><a href="Operators.html#%24%24%24"
+ ><span class="hs-operator hs-type"
+ >($$$)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</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"
+ >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"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ></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"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span id="local-6989586621679043651"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="%24%24%24"
+ ><span class="annot"
+ ><span class="annottext"
+ >$$$ :: [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%24%24%24"
+ ><span class="hs-operator hs-var hs-var"
+ >$$$</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043650"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
+ >=</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 class="annot"
+ ><span class="annottext"
+ >[a]
</span
- ><a name="line-8"
- ></a
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
></a
- ></a
+ ></span
><span
> </span
- ><a name="%24%24%24"
- ><a href="Operators.html#%24%24%24"
- ><span class="hs-operator"
- >$$$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2B%2B%2B"
+ ><span class="hs-operator hs-var"
+ >+++</span
></a
- ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
- ><span
- > </span
- ><a href="Operators.html#%2B%2B%2B"
- ><span class="hs-operator hs-var"
- >+++</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ></span
><span
>
</span
- ><a name="line-9"
- ></a
+ ><span id="line-9"
+ ></span
><span
>
</span
- ><a name="line-10"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >***</span
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</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"
- >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"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
+ ><span id="line-10"
+ ></span
+ ><span id="local-6989586621679043649"
+ ><span class="annot"
+ ><a href="Operators.html#%2A%2A%2A"
+ ><span class="hs-operator hs-type"
+ >(***)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</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"
+ >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"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ></span
><span
>
</span
- ><a name="line-11"
- ></a
- ><span class="hs-special"
- >(</span
- ><a name="%2A%2A%2A"
- ><a href="Operators.html#%2A%2A%2A"
- ><span class="hs-operator"
- >***</span
- ></a
- ></a
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="line-11"
+ ></span
+ ><span id="%2A%2A%2A"
+ ><span class="annot"
+ ><span class="annottext"
+ >*** :: [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2A%2A%2A"
+ ><span class="hs-operator hs-var hs-var"
+ >(***)</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043647"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
@@ -336,43 +439,60 @@
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-12"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >***</span
- ><span class="hs-special"
- >)</span
+ ><span id="line-12"
+ ></span
+ ><span class="annot"
+ ><a href="Operators.html#%2A%2A%2A"
+ ><span class="hs-operator hs-var"
+ >(***)</span
+ ></a
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043646"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
><span class="hs-identifier"
>_</span
- ><span class="hs-glyph"
- >:</span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span class="annot"
+ ><span class="hs-glyph hs-type"
+ >:</span
+ ></span
+ ><span id="local-6989586621679043645"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -381,455 +501,643 @@
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
> </span
- ><a href="Operators.html#%2B%2B%2B"
- ><span class="hs-operator hs-var"
- >+++</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2B%2B%2B"
+ ><span class="hs-operator hs-var"
+ >+++</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
> </span
- ><a href="Operators.html#%2A%2A%2A"
- ><span class="hs-operator hs-var"
- >***</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2A%2A%2A"
+ ><span class="hs-operator hs-var"
+ >***</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-13"
- ></a
+ ><span id="line-13"
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >*/\*</span
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-special"
- >[</span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><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 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 id="line-14"
+ ></span
+ ><span id="local-6989586621679043666"
+ ><span class="annot"
+ ><a href="Operators.html#%2A%2F%5C%2A"
+ ><span class="hs-operator hs-type"
+ >(*/\*)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</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 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"
+ >a</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >]</span
+ ></span
><span
>
</span
- ><a name="line-15"
- ></a
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span
- > </span
- ><a name="%2A%2F%5C%2A"
- ><a href="Operators.html#%2A%2F%5C%2A"
- ><span class="hs-operator"
- >*/\*</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="line-15"
+ ></span
+ ><span id="local-6989586621679043643"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: [[a]]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="%2A%2F%5C%2A"
+ ><span class="annot"
+ ><span class="annottext"
+ >*/\* :: [[a]] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2A%2F%5C%2A"
+ ><span class="hs-operator hs-var hs-var"
+ >*/\*</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043642"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: [a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >concatMap</span
+ ><span class="annot"
+ ><span class="annottext"
+ >([a] -&gt; [a]) -&gt; [[a]] -&gt; [a]
+forall (t :: * -&gt; *) a b. Foldable t =&gt; (a -&gt; [b]) -&gt; t a -&gt; [b]
+</span
+ ><span class="hs-identifier hs-var"
+ >concatMap</span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="Operators.html#%2A%2A%2A"
- ><span class="hs-operator hs-var"
- >***</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a] -&gt; [a] -&gt; [a]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2A%2A%2A"
+ ><span class="hs-operator hs-var"
+ >***</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[a]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >**/\**</span
- ><span class="hs-special"
- >)</span
+ ><span id="line-17"
+ ></span
+ ><span id="local-6989586621679043640"
+ ><span class="annot"
+ ><a href="Operators.html#%2A%2A%2F%5C%2A%2A"
+ ><span class="hs-operator hs-type"
+ >(**/\**)</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</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 class="hs-special"
+ >]</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</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 class="hs-special"
+ >]</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</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 class="hs-special"
+ >]</span
+ ></span
><span
- > </span
- ><span class="hs-glyph"
- >::</span
- ><span
- > </span
- ><span class="hs-special"
- >[</span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span class="hs-special"
- >]</span
+ >
+</span
+ ><span id="line-18"
+ ></span
+ ><span id="local-6989586621679043638"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: [[a]]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="%2A%2A%2F%5C%2A%2A"
+ ><span class="annot"
+ ><span class="annottext"
+ >**/\** :: [[a]] -&gt; [[a]] -&gt; [[a]]
+</span
+ ><a href="Operators.html#%2A%2A%2F%5C%2A%2A"
+ ><span class="hs-operator hs-var hs-var"
+ >**/\**</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043637"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: [[a]]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
- >-&gt;</span
+ >=</span
><span
> </span
- ><span class="hs-special"
- >[</span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span class="hs-special"
- >]</span
+ ><span class="annot"
+ ><span class="annottext"
+ >([[a]] -&gt; [a] -&gt; [a]) -&gt; [[[a]]] -&gt; [[a]] -&gt; [[a]]
+forall a b c. (a -&gt; b -&gt; c) -&gt; [a] -&gt; [b] -&gt; [c]
+</span
+ ><span class="hs-identifier hs-var"
+ >zipWith</span
+ ></span
><span
> </span
- ><span class="hs-glyph"
- >-&gt;</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]] -&gt; [a] -&gt; [a]
+forall a. [[a]] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2A%2F%5C%2A"
+ ><span class="hs-operator hs-var"
+ >(*/\*)</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>[</span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >a</span
- ></a
- ><span class="hs-special"
- >]</span
- ><span class="hs-special"
- >]</span
- ><span
- >
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]]
</span
- ><a name="line-18"
- ></a
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
>a</span
></a
- ></a
+ ></span
><span
> </span
- ><a name="%2A%2A%2F%5C%2A%2A"
- ><a href="Operators.html#%2A%2A%2F%5C%2A%2A"
- ><span class="hs-operator"
- >**/\**</span
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]] -&gt; [[a]] -&gt; [[a]]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%2B%2B%2B"
+ ><span class="hs-operator hs-var"
+ >+++</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"
>b</span
></a
- ></a
- ><span
- > </span
- ><span class="hs-glyph"
- >=</span
- ><span
- > </span
- ><span class="hs-identifier hs-var"
- >zipWith</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="Operators.html#%2A%2F%5C%2A"
- ><span class="hs-operator hs-var"
- >*/\*</span
- ></a
- ><span class="hs-special"
- >)</span
- ><span
- > </span
- ><span class="hs-special"
- >[</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
- ><span
- > </span
- ><a href="Operators.html#%2B%2B%2B"
- ><span class="hs-operator hs-var"
- >+++</span
- ></a
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ></span
><span class="hs-special"
>]</span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span
> </span
- ><a href="Operators.html#%24%24%24"
- ><span class="hs-operator hs-var"
- >$$$</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]] -&gt; [[a]] -&gt; [[a]]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><a href="Operators.html#%24%24%24"
+ ><span class="hs-operator hs-var"
+ >$$$</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >[[a]]
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-19"
- ></a
+ ><span id="line-19"
+ ></span
><span
>
</span
- ><a name="line-20"
- ></a
+ ><span id="line-20"
+ ></span
><span
>
</span
- ><a name="line-21"
- ></a
- ><span class="hs-special"
- >(</span
- ><span class="hs-operator"
- >#.#</span
- ><span class="hs-special"
- >)</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
- ><span
- > </span
- ><span class="hs-glyph"
- >-&gt;</span
- ><span
- > </span
- ><span class="hs-special"
- >(</span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >c</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
- ><span class="hs-special"
- >,</span
- ><span
- > </span
- ><a href="#"
- ><span class="hs-identifier hs-type"
- >b</span
- ></a
- ><span class="hs-special"
- >)</span
- ><span class="hs-special"
- >)</span
+ ><span id="line-21"
+ ></span
+ ><span id="local-6989586621679043633"
+ ><span id="local-6989586621679043634"
+ ><span id="local-6989586621679043635"
+ ><span class="annot"
+ ><a href="Operators.html#%23.%23"
+ ><span class="hs-operator hs-type"
+ >(#.#)</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"
+ >c</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 class="hs-special"
+ >)</span
+ ></span
+ ></span
+ ></span
><span
>
</span
- ><a name="line-22"
- ></a
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
- ><span
- > </span
- ><a name="%23.%23"
- ><a href="Operators.html#%23.%23"
- ><span class="hs-operator"
- >#.#</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="line-22"
+ ></span
+ ><span id="local-6989586621679043631"
+ ><span class="annot"
+ ><span class="annottext"
+ >a :: a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="%23.%23"
+ ><span class="annot"
+ ><span class="annottext"
+ >#.# :: a -&gt; b -&gt; c -&gt; (a, b)
+</span
+ ><a href="Operators.html#%23.%23"
+ ><span class="hs-operator hs-var hs-var"
+ >#.#</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043630"
+ ><span class="annot"
+ ><span class="annottext"
+ >b :: b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier hs-var"
- >const</span
+ ><span class="annot"
+ ><span class="annottext"
+ >(a, b) -&gt; c -&gt; (a, b)
+forall a b. a -&gt; b -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >const</span
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >$</span
+ ><span class="annot"
+ ><span class="annottext"
+ >((a, b) -&gt; c -&gt; (a, b)) -&gt; (a, b) -&gt; c -&gt; (a, b)
+forall a b. (a -&gt; b) -&gt; a -&gt; b
+</span
+ ><span class="hs-operator hs-var"
+ >$</span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >a</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >a</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >b</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >b
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >b</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-23"
- ></a
+ ><span id="line-23"
+ ></span
></pre
></body
></html
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
diff --git a/hypsrc-test/ref/src/PositionPragmas.html b/hypsrc-test/ref/src/PositionPragmas.html
new file mode 100644
index 00000000..ddd73f31
--- /dev/null
+++ b/hypsrc-test/ref/src/PositionPragmas.html
@@ -0,0 +1,172 @@
+<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"
+ >PositionPragmas</span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-3"
+ ></span
+ ><span class="hs-pragma"
+ >{-# LINE 8 &quot;hypsrc-test/src/PositionPragmas.hs&quot; #-}</span
+ ><span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-9"
+ ></span
+ ><span class="annot"
+ ><a href="PositionPragmas.html#foo"
+ ><span class="hs-identifier hs-type"
+ >foo</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >String</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ><span id="foo"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: String
+</span
+ ><a href="PositionPragmas.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="annot"
+ ><span class="annottext"
+ >String
+</span
+ ><a href="PositionPragmas.html#bar"
+ ><span class="hs-identifier hs-var"
+ >bar</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-11"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-12"
+ ></span
+ ><span class="hs-pragma"
+ >{-# LINE 23 &quot;hypsrc-test/src/PositionPragmas.hs&quot; #-}</span
+ ><span
+ >
+</span
+ ><span id="line-23"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-24"
+ ></span
+ ><span class="annot"
+ ><a href="PositionPragmas.html#bar"
+ ><span class="hs-identifier hs-type"
+ >bar</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >String</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-25"
+ ></span
+ ><span id="bar"
+ ><span class="annot"
+ ><span class="annottext"
+ >bar :: String
+</span
+ ><a href="PositionPragmas.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="annot"
+ ><span class="annottext"
+ >String
+</span
+ ><a href="PositionPragmas.html#foo"
+ ><span class="hs-identifier hs-var"
+ >foo</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span
+ >
+</span
+ ><span id="line-26"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-27"
+ ></span
+ ></pre
+ ></body
+ ></html
+> \ No newline at end of file
diff --git a/hypsrc-test/ref/src/Records.html b/hypsrc-test/ref/src/Records.html
index 7d23d114..bc99cc56 100644
--- a/hypsrc-test/ref/src/Records.html
+++ b/hypsrc-test/ref/src/Records.html
@@ -11,25 +11,25 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></span
><span class="hs-pragma"
>{-# LANGUAGE RecordWildCards #-}</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,57 +43,66 @@
><span
>
</span
- ><a name="line-6"
- ></a
+ ><span id="line-6"
+ ></span
><span
>
</span
- ><a name="line-7"
- ></a
+ ><span id="line-7"
+ ></span
><span
>
</span
- ><a name="line-8"
- ></a
+ ><span id="line-8"
+ ></span
><span class="hs-keyword"
>data</span
><span
> </span
- ><a name="Point"
- ><a href="Records.html#Point"
- ><span class="hs-identifier"
- >Point</span
- ></a
- ></a
+ ><span id="Point"
+ ><span class="annot"
+ ><a href="Records.html#Point"
+ ><span class="hs-identifier hs-var"
+ >Point</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name="Point"
- ><a href="Records.html#Point"
- ><span class="hs-identifier"
- >Point</span
- ></a
- ></a
+ ><span id="Point"
+ ><span class="annot"
+ ><a href="Records.html#Point"
+ ><span class="hs-identifier hs-var"
+ >Point</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-9"
- ></a
+ ><span id="line-9"
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><a name="x"
- ><a href="Records.html#x"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="x"
+ ><span class="annot"
+ ><span class="annottext"
+ >Point -&gt; Int
+</span
+ ><a href="Records.html#x"
+ ><span class="hs-identifier hs-var hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -102,25 +111,32 @@
> </span
><span class="hs-glyph"
>!</span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-10"
- ></a
+ ><span id="line-10"
+ ></span
><span
> </span
><span class="hs-special"
>,</span
><span
> </span
- ><a name="y"
- ><a href="Records.html#y"
- ><span class="hs-identifier"
- >y</span
- ></a
- ></a
+ ><span id="y"
+ ><span class="annot"
+ ><span class="annottext"
+ >Point -&gt; Int
+</span
+ ><a href="Records.html#y"
+ ><span class="hs-identifier hs-var hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -129,13 +145,15 @@
> </span
><span class="hs-glyph"
>!</span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-11"
- ></a
+ ><span id="line-11"
+ ></span
><span
> </span
><span class="hs-special"
@@ -143,117 +161,171 @@
><span
>
</span
- ><a name="line-12"
- ></a
+ ><span id="line-12"
+ ></span
><span
>
</span
- ><a name="line-13"
- ></a
+ ><span id="line-13"
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
- ><span class="hs-identifier"
- >point</span
+ ><span id="line-14"
+ ></span
+ ><span class="annot"
+ ><a href="Records.html#point"
+ ><span class="hs-identifier hs-type"
+ >point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-15"
- ></a
- ><a name="point"
- ><a href="Records.html#point"
- ><span class="hs-identifier"
- >point</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"
- >y</span
- ></a
- ></a
+ ><span id="line-15"
+ ></span
+ ><span id="point"
+ ><span class="annot"
+ ><span class="annottext"
+ >point :: Int -&gt; Int -&gt; Point
+</span
+ ><a href="Records.html#point"
+ ><span class="hs-identifier hs-var hs-var"
+ >point</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043799"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043798"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="Records.html#Point"
- ><span class="hs-identifier hs-var"
- >Point</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >$WPoint :: Int -&gt; Int -&gt; Point
+</span
+ ><a href="Records.html#%24WPoint"
+ ><span class="hs-identifier hs-type hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><span class="hs-identifier"
- >x</span
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="Records.html#x"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></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"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >y</span
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="Records.html#y"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -261,95 +333,134 @@
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
+ ><span id="line-17"
+ ></span
><span
>
</span
- ><a name="line-18"
- ></a
- ><span class="hs-identifier"
- >lengthSqr</span
+ ><span id="line-18"
+ ></span
+ ><span class="annot"
+ ><a href="Records.html#lengthSqr"
+ ><span class="hs-identifier hs-type"
+ >lengthSqr</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-19"
- ></a
- ><a name="lengthSqr"
- ><a href="Records.html#lengthSqr"
- ><span class="hs-identifier"
- >lengthSqr</span
- ></a
- ></a
+ ><span id="line-19"
+ ></span
+ ><span id="lengthSqr"
+ ><span class="annot"
+ ><span class="annottext"
+ >lengthSqr :: Point -&gt; Int
+</span
+ ><a href="Records.html#lengthSqr"
+ ><span class="hs-identifier hs-var hs-var"
+ >lengthSqr</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-var"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><span class="hs-identifier"
- >x</span
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Point -&gt; Int
+</span
+ ><a href="Records.html#x"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043795"
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >y</span
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Point -&gt; Int
+</span
+ ><a href="Records.html#y"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >y</span
- ></a
- ></a
+ ><span id="local-6989586621679043794"
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
@@ -362,111 +473,178 @@
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-20"
- ></a
+ ><span id="line-20"
+ ></span
><span
>
</span
- ><a name="line-21"
- ></a
- ><span class="hs-identifier"
- >lengthSqr'</span
+ ><span id="line-21"
+ ></span
+ ><span class="annot"
+ ><a href="Records.html#lengthSqr%27"
+ ><span class="hs-identifier hs-type"
+ >lengthSqr'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-22"
- ></a
- ><a name="lengthSqr%27"
- ><a href="Records.html#lengthSqr%27"
- ><span class="hs-identifier"
- >lengthSqr'</span
- ></a
- ></a
+ ><span id="line-22"
+ ></span
+ ><span id="lengthSqr%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >lengthSqr' :: Point -&gt; Int
+</span
+ ><a href="Records.html#lengthSqr%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >lengthSqr'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-var"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >x</span
- ></a
- ></a
+ ><span id="local-6989586621679043790"
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+x :: Int
+x :: Point -&gt; Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >y</span
- ></a
- ></a
+ ><span id="local-6989586621679043789"
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+y :: Int
+y :: Point -&gt; Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
@@ -479,160 +657,262 @@
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >*</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >*</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-23"
- ></a
+ ><span id="line-23"
+ ></span
><span
>
</span
- ><a name="line-24"
- ></a
+ ><span id="line-24"
+ ></span
><span
>
</span
- ><a name="line-25"
- ></a
- ><span class="hs-identifier"
- >translateX</span
+ ><span id="line-25"
+ ></span
+ ><span class="annot"
+ ><a href="Records.html#translateX"
+ ><span class="hs-identifier hs-type"
+ >translateX</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >translateY</span
+ ><span class="annot"
+ ><a href="Records.html#translateY"
+ ><span class="hs-identifier hs-type"
+ >translateY</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-26"
- ></a
- ><a name="translateX"
- ><a href="Records.html#translateX"
- ><span class="hs-identifier"
- >translateX</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >p</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >d</span
- ></a
- ></a
+ ><span id="line-26"
+ ></span
+ ><span id="translateX"
+ ><span class="annot"
+ ><span class="annottext"
+ >translateX :: Point -&gt; Int -&gt; Point
+</span
+ ><a href="Records.html#translateX"
+ ><span class="hs-identifier hs-var hs-var"
+ >translateX</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043786"
+ ><span class="annot"
+ ><span class="annottext"
+ >p :: Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043785"
+ ><span class="annot"
+ ><span class="annottext"
+ >d :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >d</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >p</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><span class="hs-identifier"
- >x</span
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="Records.html#x"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier"
- >x</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Point -&gt; Int
+</span
+ ><a href="Records.html#x"
+ ><span class="hs-identifier hs-var hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >p</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >d</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >d</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -640,72 +920,122 @@
><span
>
</span
- ><a name="line-27"
- ></a
- ><a name="translateY"
- ><a href="Records.html#translateY"
- ><span class="hs-identifier"
- >translateY</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >p</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >d</span
- ></a
- ></a
+ ><span id="line-27"
+ ></span
+ ><span id="translateY"
+ ><span class="annot"
+ ><span class="annottext"
+ >translateY :: Point -&gt; Int -&gt; Point
+</span
+ ><a href="Records.html#translateY"
+ ><span class="hs-identifier hs-var hs-var"
+ >translateY</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043784"
+ ><span class="annot"
+ ><span class="annottext"
+ >p :: Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043783"
+ ><span class="annot"
+ ><span class="annottext"
+ >d :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >d</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >p</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><span class="hs-identifier"
- >y</span
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="Records.html#y"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><span class="hs-identifier"
- >y</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Point -&gt; Int
+</span
+ ><a href="Records.html#y"
+ ><span class="hs-identifier hs-var hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >p</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >d</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >d</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -713,86 +1043,118 @@
><span
>
</span
- ><a name="line-28"
- ></a
+ ><span id="line-28"
+ ></span
><span
>
</span
- ><a name="line-29"
- ></a
- ><span class="hs-identifier"
- >translate</span
+ ><span id="line-29"
+ ></span
+ ><span class="annot"
+ ><a href="Records.html#translate"
+ ><span class="hs-identifier hs-type"
+ >translate</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><a href="Records.html#Point"
- ><span class="hs-identifier hs-type"
- >Point</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-30"
- ></a
- ><a name="translate"
- ><a href="Records.html#translate"
- ><span class="hs-identifier"
- >translate</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"
- >y</span
- ></a
- ></a
- ><span
- > </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >p</span
- ></a
- ></a
+ ><span id="line-30"
+ ></span
+ ><span id="translate"
+ ><span class="annot"
+ ><span class="annottext"
+ >translate :: Int -&gt; Int -&gt; Point -&gt; Point
+</span
+ ><a href="Records.html#translate"
+ ><span class="hs-identifier hs-var hs-var"
+ >translate</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043781"
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043780"
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043779"
+ ><span class="annot"
+ ><span class="annottext"
+ >p :: Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -800,25 +1162,35 @@
><span
>
</span
- ><a name="line-31"
- ></a
+ ><span id="line-31"
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >aux</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point -&gt; Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >aux</span
+ ></a
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >p</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-32"
- ></a
+ ><span id="line-32"
+ ></span
><span
> </span
><span class="hs-keyword"
@@ -826,28 +1198,38 @@
><span
>
</span
- ><a name="line-33"
- ></a
+ ><span id="line-33"
+ ></span
><span
> </span
><span class="hs-special"
>(</span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >dx</span
- ></a
- ></a
+ ><span id="local-6989586621679043777"
+ ><span class="annot"
+ ><span class="annottext"
+ >dx :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >dx</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >dy</span
- ></a
- ></a
+ ><span id="local-6989586621679043776"
+ ><span class="annot"
+ ><span class="annottext"
+ >dy :: Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >dy</span
+ ></a
+ ></span
+ ></span
><span class="hs-special"
>)</span
><span
@@ -858,109 +1240,181 @@
> </span
><span class="hs-special"
>(</span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >x</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</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"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-34"
- ></a
+ ><span id="line-34"
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >aux</span
- ></a
- ></a
- ><span
- > </span
- ><a href="Records.html#Point"
- ><span class="hs-identifier hs-var"
- >Point</span
- ></a
- ><span class="hs-special"
- >{</span
- ><span class="hs-glyph"
- >..</span
- ><span class="hs-special"
- >}</span
+ ><span id="local-6989586621679043778"
+ ><span class="annot"
+ ><span class="annottext"
+ >aux :: Point -&gt; Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >aux</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span id="local-6989586621679043774"
+ ><span id="local-6989586621679043775"
+ ><span class="annot"
+ ><a href="Records.html#Point"
+ ><span class="hs-identifier hs-type"
+ >Point</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >{</span
+ ><span class="hs-glyph"
+ >..</span
+ ><span class="hs-special"
+ >}</span
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >p</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Point
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >p</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>{</span
><span
> </span
- ><span class="hs-identifier"
- >x</span
+ ><span class="annot"
+ ><span class="annottext"
+ >x :: Int
+</span
+ ><a href="Records.html#x"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></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"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >x</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >dx</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >dx</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
- ><span class="hs-identifier"
- >y</span
+ ><span class="annot"
+ ><span class="annottext"
+ >y :: Int
+</span
+ ><a href="Records.html#y"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >y</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >y</span
+ ></a
+ ></span
><span
> </span
- ><span class="hs-operator hs-var"
- >+</span
+ ><span class="annot"
+ ><span class="annottext"
+ >Int -&gt; Int -&gt; Int
+forall a. Num a =&gt; a -&gt; a -&gt; a
+</span
+ ><span class="hs-operator hs-var"
+ >+</span
+ ></span
><span
> </span
- ><a href="#"
- ><span class="hs-identifier hs-var"
- >dy</span
- ></a
+ ><span class="annot"
+ ><span class="annottext"
+ >Int
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >dy</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -968,8 +1422,8 @@
><span
>
</span
- ><a name="line-35"
- ></a
+ ><span id="line-35"
+ ></span
></pre
></body
></html
diff --git a/hypsrc-test/ref/src/Types.html b/hypsrc-test/ref/src/Types.html
index a8be9e78..1258b8c1 100644
--- a/hypsrc-test/ref/src/Types.html
+++ b/hypsrc-test/ref/src/Types.html
@@ -11,18 +11,18 @@
><span
>
</span
- ><a name="line-2"
- ></a
+ ><span id="line-2"
+ ></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 class="hs-keyword"
>module</span
><span
@@ -36,84 +36,94 @@
><span
>
</span
- ><a name="line-5"
- ></a
+ ><span id="line-5"
+ ></span
><span
>
</span
- ><a name="line-6"
- ></a
+ ><span id="line-6"
+ ></span
><span
>
</span
- ><a name="line-7"
- ></a
+ ><span id="line-7"
+ ></span
><span class="hs-keyword"
>data</span
><span
> </span
- ><a name="Quux"
- ><a href="Types.html#Quux"
- ><span class="hs-identifier"
- >Quux</span
- ></a
- ></a
+ ><span id="Quux"
+ ><span class="annot"
+ ><a href="Types.html#Quux"
+ ><span class="hs-identifier hs-var"
+ >Quux</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name="Bar"
- ><a href="Types.html#Bar"
- ><span class="hs-identifier"
- >Bar</span
- ></a
- ></a
+ ><span id="Bar"
+ ><span class="annot"
+ ><a href="Types.html#Bar"
+ ><span class="hs-identifier hs-var"
+ >Bar</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>|</span
><span
> </span
- ><a name="Baz"
- ><a href="Types.html#Baz"
- ><span class="hs-identifier"
- >Baz</span
- ></a
- ></a
+ ><span id="Baz"
+ ><span class="annot"
+ ><a href="Types.html#Baz"
+ ><span class="hs-identifier hs-var"
+ >Baz</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-8"
- ></a
+ ><span id="line-8"
+ ></span
><span
>
</span
- ><a name="line-9"
- ></a
+ ><span id="line-9"
+ ></span
><span class="hs-keyword"
>newtype</span
><span
> </span
- ><a name="Foo"
- ><a href="Types.html#Foo"
- ><span class="hs-identifier"
- >Foo</span
- ></a
- ></a
+ ><span id="Foo"
+ ><span class="annot"
+ ><a href="Types.html#Foo"
+ ><span class="hs-identifier hs-var"
+ >Foo</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name="Foo"
- ><a href="Types.html#Foo"
- ><span class="hs-identifier"
- >Foo</span
- ></a
- ></a
+ ><span id="Foo"
+ ><span class="annot"
+ ><a href="Types.html#Foo"
+ ><span class="hs-identifier hs-var"
+ >Foo</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
@@ -123,23 +133,25 @@
><span
>
</span
- ><a name="line-10"
- ></a
+ ><span id="line-10"
+ ></span
><span
>
</span
- ><a name="line-11"
- ></a
+ ><span id="line-11"
+ ></span
><span class="hs-keyword"
>type</span
><span
> </span
- ><a name="FooQuux"
- ><a href="Types.html#FooQuux"
- ><span class="hs-identifier"
- >FooQuux</span
- ></a
- ></a
+ ><span id="FooQuux"
+ ><span class="annot"
+ ><a href="Types.html#FooQuux"
+ ><span class="hs-identifier hs-var"
+ >FooQuux</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -148,35 +160,41 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-12"
- ></a
+ ><span id="line-12"
+ ></span
><span class="hs-keyword"
>type</span
><span
> </span
- ><a name="QuuxFoo"
- ><a href="Types.html#QuuxFoo"
- ><span class="hs-identifier"
- >QuuxFoo</span
- ></a
- ></a
+ ><span id="QuuxFoo"
+ ><span class="annot"
+ ><a href="Types.html#QuuxFoo"
+ ><span class="hs-identifier hs-var"
+ >QuuxFoo</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -185,35 +203,39 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-13"
- ></a
+ ><span id="line-13"
+ ></span
><span
>
</span
- ><a name="line-14"
- ></a
+ ><span id="line-14"
+ ></span
><span
>
</span
- ><a name="line-15"
- ></a
+ ><span id="line-15"
+ ></span
><span class="hs-keyword"
>data</span
><span
@@ -222,38 +244,44 @@
>family</span
><span
> </span
- ><a name="Norf"
- ><a href="Types.html#Norf"
- ><span class="hs-identifier"
- >Norf</span
- ></a
- ></a
+ ><span id="Norf"
+ ><span class="annot"
+ ><a href="Types.html#Norf"
+ ><span class="hs-identifier hs-var"
+ >Norf</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043815"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043814"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-16"
- ></a
+ ><span id="line-16"
+ ></span
><span
>
</span
- ><a name="line-17"
- ></a
+ ><span id="line-17"
+ ></span
><span class="hs-keyword"
>data</span
><span
@@ -262,51 +290,65 @@
>instance</span
><span
> </span
- ><a href="Types.html#Norf"
- ><span class="hs-identifier hs-type"
- >Norf</span
- ></a
+ ><span id="Norf"
+ ><span class="annot"
+ ><a href="Types.html#Norf"
+ ><span class="hs-identifier hs-var"
+ >Norf</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name="NFQ"
- ><a href="Types.html#NFQ"
- ><span class="hs-identifier"
- >NFQ</span
- ></a
- ></a
+ ><span id="NFQ"
+ ><span class="annot"
+ ><a href="Types.html#NFQ"
+ ><span class="hs-identifier hs-var"
+ >NFQ</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-18"
- ></a
+ ><span id="line-18"
+ ></span
><span class="hs-keyword"
>data</span
><span
@@ -315,61 +357,75 @@
>instance</span
><span
> </span
- ><a href="Types.html#Norf"
- ><span class="hs-identifier hs-type"
- >Norf</span
- ></a
+ ><span id="Norf"
+ ><span class="annot"
+ ><a href="Types.html#Norf"
+ ><span class="hs-identifier hs-var"
+ >Norf</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>=</span
><span
> </span
- ><a name="NQF"
- ><a href="Types.html#NQF"
- ><span class="hs-identifier"
- >NQF</span
- ></a
- ></a
+ ><span id="NQF"
+ ><span class="annot"
+ ><a href="Types.html#NQF"
+ ><span class="hs-identifier hs-var"
+ >NQF</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
>
</span
- ><a name="line-19"
- ></a
+ ><span id="line-19"
+ ></span
><span
>
</span
- ><a name="line-20"
- ></a
+ ><span id="line-20"
+ ></span
><span
>
</span
- ><a name="line-21"
- ></a
+ ><span id="line-21"
+ ></span
><span class="hs-keyword"
>type</span
><span
@@ -378,38 +434,44 @@
>family</span
><span
> </span
- ><a name="Norf%27"
- ><a href="Types.html#Norf%27"
- ><span class="hs-identifier"
- >Norf'</span
- ></a
- ></a
+ ><span id="Norf%27"
+ ><span class="annot"
+ ><a href="Types.html#Norf%27"
+ ><span class="hs-identifier hs-var"
+ >Norf'</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >a</span
- ></a
- ></a
+ ><span id="local-6989586621679043811"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
><span
> </span
- ><a name=""
- ><a href="#"
- ><span class="hs-identifier"
- >b</span
- ></a
- ></a
+ ><span id="local-6989586621679043810"
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >b</span
+ ></a
+ ></span
+ ></span
><span
>
</span
- ><a name="line-22"
- ></a
+ ><span id="line-22"
+ ></span
><span
>
</span
- ><a name="line-23"
- ></a
+ ><span id="line-23"
+ ></span
><span class="hs-keyword"
>type</span
><span
@@ -418,22 +480,30 @@
>instance</span
><span
> </span
- ><a href="Types.html#Norf%27"
- ><span class="hs-identifier hs-type"
- >Norf'</span
- ></a
+ ><span id="Norf%27"
+ ><span class="annot"
+ ><a href="Types.html#Norf%27"
+ ><span class="hs-identifier hs-var"
+ >Norf'</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -442,25 +512,29 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-24"
- ></a
+ ><span id="line-24"
+ ></span
><span class="hs-keyword"
>type</span
><span
@@ -469,22 +543,30 @@
>instance</span
><span
> </span
- ><a href="Types.html#Norf%27"
- ><span class="hs-identifier hs-type"
- >Norf'</span
- ></a
+ ><span id="Norf%27"
+ ><span class="annot"
+ ><a href="Types.html#Norf%27"
+ ><span class="hs-identifier hs-var"
+ >Norf'</span
+ ></a
+ ></span
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
@@ -493,94 +575,119 @@
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
>
</span
- ><a name="line-25"
- ></a
+ ><span id="line-25"
+ ></span
><span
>
</span
- ><a name="line-26"
- ></a
+ ><span id="line-26"
+ ></span
><span
>
</span
- ><a name="line-27"
- ></a
- ><span class="hs-identifier"
- >norf1</span
+ ><span id="line-27"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf1"
+ ><span class="hs-identifier hs-type"
+ >norf1</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Norf"
- ><span class="hs-identifier hs-type"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-28"
- ></a
- ><a name="norf1"
- ><a href="Types.html#norf1"
- ><span class="hs-identifier"
- >norf1</span
- ></a
- ></a
+ ><span id="line-28"
+ ></span
+ ><span id="norf1"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf1 :: Norf Foo Quux -&gt; Int
+</span
+ ><a href="Types.html#norf1"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf1</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#NFQ"
- ><span class="hs-identifier hs-var"
- >NFQ</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >NFQ</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -591,10 +698,12 @@
>)</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -603,31 +712,41 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-29"
- ></a
- ><span class="hs-identifier"
- >norf1</span
+ ><span id="line-29"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf1"
+ ><span class="hs-identifier hs-var"
+ >norf1</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#NFQ"
- ><span class="hs-identifier hs-var"
- >NFQ</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >NFQ</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -638,10 +757,12 @@
>)</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -650,83 +771,108 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >1</span
+ >1</span
+ ></span
><span
>
</span
- ><a name="line-30"
- ></a
+ ><span id="line-30"
+ ></span
><span
>
</span
- ><a name="line-31"
- ></a
- ><span class="hs-identifier"
- >norf2</span
+ ><span id="line-31"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf2"
+ ><span class="hs-identifier hs-type"
+ >norf2</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Norf"
- ><span class="hs-identifier hs-type"
- >Norf</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-32"
- ></a
- ><a name="norf2"
- ><a href="Types.html#norf2"
- ><span class="hs-identifier"
- >norf2</span
- ></a
- ></a
+ ><span id="line-32"
+ ></span
+ ><span id="norf2"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf2 :: Norf Quux Foo -&gt; Int
+</span
+ ><a href="Types.html#norf2"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf2</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#NQF"
- ><span class="hs-identifier hs-var"
- >NQF</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >NQF</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -743,37 +889,49 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-33"
- ></a
- ><span class="hs-identifier"
- >norf2</span
+ ><span id="line-33"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf2"
+ ><span class="hs-identifier hs-var"
+ >norf2</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#NQF"
- ><span class="hs-identifier hs-var"
- >NQF</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >NQF</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -790,74 +948,95 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >1</span
+ >1</span
+ ></span
><span
>
</span
- ><a name="line-34"
- ></a
+ ><span id="line-34"
+ ></span
><span
>
</span
- ><a name="line-35"
- ></a
+ ><span id="line-35"
+ ></span
><span
>
</span
- ><a name="line-36"
- ></a
- ><span class="hs-identifier"
- >norf1'</span
+ ><span id="line-36"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf1%27"
+ ><span class="hs-identifier hs-type"
+ >norf1'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Norf%27"
- ><span class="hs-identifier hs-type"
- >Norf'</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf'</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-37"
- ></a
- ><a name="norf1%27"
- ><a href="Types.html#norf1%27"
- ><span class="hs-identifier"
- >norf1'</span
- ></a
- ></a
+ ><span id="line-37"
+ ></span
+ ><span id="norf1%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf1' :: Norf' Foo Quux -&gt; Int
+</span
+ ><a href="Types.html#norf1%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf1'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -868,10 +1047,12 @@
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -880,23 +1061,31 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-38"
- ></a
- ><span class="hs-identifier"
- >norf1'</span
+ ><span id="line-38"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf1%27"
+ ><span class="hs-identifier hs-var"
+ >norf1'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -907,10 +1096,12 @@
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span class="hs-special"
>)</span
><span
@@ -919,77 +1110,100 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >1</span
+ >1</span
+ ></span
><span
>
</span
- ><a name="line-39"
- ></a
+ ><span id="line-39"
+ ></span
><span
>
</span
- ><a name="line-40"
- ></a
- ><span class="hs-identifier"
- >norf2'</span
+ ><span id="line-40"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf2%27"
+ ><span class="hs-identifier hs-type"
+ >norf2'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>::</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Norf%27"
- ><span class="hs-identifier hs-type"
- >Norf'</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Norf'</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Quux"
- ><span class="hs-identifier hs-type"
- >Quux</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Quux</span
+ ></a
+ ></span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-type"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-glyph"
>-&gt;</span
><span
> </span
+ ><span class="annot"
><span class="hs-identifier hs-type"
- >Int</span
+ >Int</span
+ ></span
><span
>
</span
- ><a name="line-41"
- ></a
- ><a name="norf2%27"
- ><a href="Types.html#norf2%27"
- ><span class="hs-identifier"
- >norf2'</span
- ></a
- ></a
+ ><span id="line-41"
+ ></span
+ ><span id="norf2%27"
+ ><span class="annot"
+ ><span class="annottext"
+ >norf2' :: Norf' Quux Foo -&gt; Int
+</span
+ ><a href="Types.html#norf2%27"
+ ><span class="hs-identifier hs-var hs-var"
+ >norf2'</span
+ ></a
+ ></span
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Bar"
- ><span class="hs-identifier hs-var"
- >Bar</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Bar</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -1004,31 +1218,41 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >0</span
+ >0</span
+ ></span
><span
>
</span
- ><a name="line-42"
- ></a
- ><span class="hs-identifier"
- >norf2'</span
+ ><span id="line-42"
+ ></span
+ ><span class="annot"
+ ><a href="Types.html#norf2%27"
+ ><span class="hs-identifier hs-var"
+ >norf2'</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
>(</span
+ ><span class="annot"
><a href="Types.html#Baz"
- ><span class="hs-identifier hs-var"
- >Baz</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Baz</span
+ ></a
+ ></span
><span class="hs-special"
>,</span
><span
> </span
+ ><span class="annot"
><a href="Types.html#Foo"
- ><span class="hs-identifier hs-var"
- >Foo</span
- ></a
+ ><span class="hs-identifier hs-type"
+ >Foo</span
+ ></a
+ ></span
><span
> </span
><span class="hs-special"
@@ -1043,13 +1267,15 @@
>=</span
><span
> </span
+ ><span class="annot"
><span class="hs-number"
- >1</span
+ >1</span
+ ></span
><span
>
</span
- ><a name="line-43"
- ></a
+ ><span id="line-43"
+ ></span
></pre
></body
></html
diff --git a/hypsrc-test/src/ClangCppBug.hs b/hypsrc-test/src/ClangCppBug.hs
new file mode 100644
index 00000000..4b0bc35f
--- /dev/null
+++ b/hypsrc-test/src/ClangCppBug.hs
@@ -0,0 +1,21 @@
+{-# LANGUAGE CPP #-}
+module ClangCppBug where
+
+foo :: Int
+foo = 1
+
+-- Clang doesn't mind these:
+#define BAX 2
+{-# INLINE bar #-}
+
+bar :: Int
+bar = 3
+
+-- But it doesn't like this:
+{-# RULES
+"bar/qux" bar = qux
+"qux/foo" qux = foo
+ #-}
+
+qux :: Int
+qux = 88
diff --git a/hypsrc-test/src/LinkingIdentifiers.hs b/hypsrc-test/src/LinkingIdentifiers.hs
new file mode 100644
index 00000000..4fff9776
--- /dev/null
+++ b/hypsrc-test/src/LinkingIdentifiers.hs
@@ -0,0 +1,14 @@
+-- Tests that the identifers/operators are properly linked even when:
+--
+-- * backquoted, parenthesized, vanilla
+-- * qualified, not-qualified
+--
+module LinkingIdentifiers where
+
+ident :: Int -> Int -> Int
+x `ident` 2 = (x `ident` 2) + (x `LinkingIdentifiers.ident` 2)
+ident x 2 = ident x 2 + LinkingIdentifiers.ident x 2
+
+(++:++) :: Int -> Int -> Int
+x ++:++ 2 = (x ++:++ 2) + (x LinkingIdentifiers.++:++ 2)
+(++:++) x 2 = (++:++) x 2 + (LinkingIdentifiers.++:++) x 2
diff --git a/hypsrc-test/src/PositionPragmas.hs b/hypsrc-test/src/PositionPragmas.hs
new file mode 100644
index 00000000..907316fd
--- /dev/null
+++ b/hypsrc-test/src/PositionPragmas.hs
@@ -0,0 +1,12 @@
+module PositionPragmas where
+
+{-# LINE 8 "hypsrc-test/src/PositionPragmas.hs" #-}
+
+foo :: String
+foo = bar
+
+{-# LINE 23 "hypsrc-test/src/PositionPragmas.hs" #-}
+
+bar :: String
+bar = foo
+