aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test/ref/src/Records.html
diff options
context:
space:
mode:
authorAlec Theriault <alec.theriault@gmail.com>2019-01-31 01:37:25 -0800
committerGitHub <noreply@github.com>2019-01-31 01:37:25 -0800
commit1b26460fb3b5df5215cc1e6715661cbc7c950085 (patch)
tree0b5ac6285ecf432021e8365567d48eeb6249f44b /hypsrc-test/ref/src/Records.html
parent4c02498a24e6ceb775528bed043b66340296ad06 (diff)
Use `.hie` files for the Hyperlinker backend (#977)
# Summary This is a large architectural change to the Hyperlinker. * extract link (and now also type) information from `.hie` instead of doing ad-hoc SYB traversals of the `RenamedSource`. Also adds a superb type-on-hover feature (#715). * re-engineer the lexer to avoid needless string conversions. By going directly through GHC's `P` monad and taking bytestring slices, we avoid a ton of allocation and have better handling of position pragmas and CPP. In terms of performance, the Haddock side of things has gotten _much_ more efficient. Unfortunately, much of this is cancelled out by the increased GHC workload for generating `.hie` files. For the full set of boot libs (including `ghc`-the-library) * the sum of total time went down by 9-10% overall * the sum of total allocations went down by 6-7% # Motivation Haddock is moving towards working entirely over `.hi` and `.hie` files. This change means we no longer need the `RenamedSource` from `TypecheckedModule` (something which is _not_ in `.hi` files). # Details Along the way a bunch of things were fixed: * Cross package (and other) links are now more reliable (#496) * The lexer tries to recover from errors on every line (instead of at CPP boundaries) * `LINE`/`COLUMN` pragmas are taken into account * filter out zero length tokens before rendering * avoid recomputing the `ModuleName`-based `SrcMap` * remove the last use of `Documentation.Haddock.Utf8` (see #998) * restructure temporary folder logic for `.hi`/`.hie` model
Diffstat (limited to 'hypsrc-test/ref/src/Records.html')
-rw-r--r--hypsrc-test/ref/src/Records.html1346
1 files changed, 900 insertions, 446 deletions
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