aboutsummaryrefslogtreecommitdiff
path: root/hypsrc-test
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2021-01-05 19:30:24 -0500
committerBen Gamari <ben@smart-cactus.org>2021-01-13 18:39:25 -0500
commite1230ede3d1c77a6916e318aefcd47829e56035c (patch)
tree36b89a8d6fae359a5c5de4887c020a6101bd5cf8 /hypsrc-test
parent9a7e3d6fa3faad2ccb75f7f3e9d9f4bc203a77ca (diff)
parent99f61534a470b84c424fde0835215de6a3b6d721 (diff)
Merge remote-tracking branch 'origin/ghc-9.0' into ghc-head
Diffstat (limited to 'hypsrc-test')
-rw-r--r--hypsrc-test/ref/src/Bug1091.html34
-rw-r--r--hypsrc-test/ref/src/CallingQuotes.html104
-rw-r--r--hypsrc-test/ref/src/Quasiquoter.html423
-rw-r--r--hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html661
-rw-r--r--hypsrc-test/ref/src/TemplateHaskellSplices.html119
-rw-r--r--hypsrc-test/ref/src/UsingQuasiquotes.html104
-rw-r--r--hypsrc-test/src/Bug1091.hs4
-rw-r--r--hypsrc-test/src/Include1For1091.h6
-rw-r--r--hypsrc-test/src/Include2For1091.h4
-rw-r--r--hypsrc-test/src/Quasiquoter.hs16
-rw-r--r--hypsrc-test/src/TemplateHaskellQuasiquotes.hs39
-rw-r--r--hypsrc-test/src/TemplateHaskellSplices.hs8
-rw-r--r--hypsrc-test/src/UsingQuasiquotes.hs9
13 files changed, 1531 insertions, 0 deletions
diff --git a/hypsrc-test/ref/src/Bug1091.html b/hypsrc-test/ref/src/Bug1091.html
new file mode 100644
index 00000000..a9c7d163
--- /dev/null
+++ b/hypsrc-test/ref/src/Bug1091.html
@@ -0,0 +1,34 @@
+<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"
+ >Bug1091</span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span class="hs-cpp"
+ >
+
+#include &quot;Include1For1091.h&quot;
+</span
+ ></pre
+ ></body
+ ></html
+>
diff --git a/hypsrc-test/ref/src/CallingQuotes.html b/hypsrc-test/ref/src/CallingQuotes.html
new file mode 100644
index 00000000..9b2e3209
--- /dev/null
+++ b/hypsrc-test/ref/src/CallingQuotes.html
@@ -0,0 +1,104 @@
+<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 QuasiQuotes #-}</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >CallingQuotes</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="hs-keyword"
+ >import</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="Quasiquoter.html"
+ ><span class="hs-identifier"
+ >Quasiquoter</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span id="baz"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: [Char]
+</span
+ ><a href="CallingQuotes.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=""
+ >[string| foo bar |]</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Char] -&gt; [Char] -&gt; [Char]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><span class="hs-operator hs-var"
+ >++</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class=""
+ >[string| some
+ mulitline
+ quasiquote
+|]</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ></pre
+ ></body
+ ></html
+> \ No newline at end of file
diff --git a/hypsrc-test/ref/src/Quasiquoter.html b/hypsrc-test/ref/src/Quasiquoter.html
new file mode 100644
index 00000000..ea111cad
--- /dev/null
+++ b/hypsrc-test/ref/src/Quasiquoter.html
@@ -0,0 +1,423 @@
+<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"
+ >Quasiquoter</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="Quasiquoter.html#string"
+ ><span class="hs-identifier"
+ >string</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >)</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-keyword"
+ >import</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier"
+ >Language.Haskell.TH.Quote</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-4"
+ ></span
+ ><span class="hs-keyword"
+ >import</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier"
+ >Language.Haskell.TH.Syntax</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span class="hs-comment"
+ >-- | Quoter for constructing multiline string literals</span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span class="annot"
+ ><a href="Quasiquoter.html#string"
+ ><span class="hs-identifier hs-type"
+ >string</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >QuasiQuoter</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span id="string"
+ ><span class="annot"
+ ><span class="annottext"
+ >string :: QuasiQuoter
+</span
+ ><a href="Quasiquoter.html#string"
+ ><span class="hs-identifier hs-var hs-var"
+ >string</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >QuasiQuoter :: (String -&gt; Q Exp)
+-&gt; (String -&gt; Q Pat)
+-&gt; (String -&gt; Q Type)
+-&gt; (String -&gt; Q [Dec])
+-&gt; QuasiQuoter
+</span
+ ><span class="hs-identifier hs-type"
+ >QuasiQuoter</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-9"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >{</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >quoteExp :: String -&gt; Q Exp
+</span
+ ><span class="hs-identifier hs-var"
+ >quoteExp</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >Exp -&gt; Q Exp
+forall (f :: * -&gt; *) a. Applicative f =&gt; a -&gt; f a
+</span
+ ><span class="hs-identifier hs-var"
+ >pure</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Exp -&gt; Q Exp) -&gt; (String -&gt; Exp) -&gt; String -&gt; Q Exp
+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"
+ >Lit -&gt; Exp
+</span
+ ><span class="hs-identifier hs-var"
+ >LitE</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >(Lit -&gt; Exp) -&gt; (String -&gt; Lit) -&gt; String -&gt; Exp
+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"
+ >String -&gt; Lit
+</span
+ ><span class="hs-identifier hs-var"
+ >StringL</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >quotePat :: String -&gt; Q Pat
+</span
+ ><span class="hs-identifier hs-var"
+ >quotePat</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; Q Pat
+forall a. String -&gt; Q a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >invalidDomain</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-11"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >quoteType :: String -&gt; Q Type
+</span
+ ><span class="hs-identifier hs-var"
+ >quoteType</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; Q Type
+forall a. String -&gt; Q a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >invalidDomain</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-12"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >quoteDec :: String -&gt; Q [Dec]
+</span
+ ><span class="hs-identifier hs-var"
+ >quoteDec</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; Q [Dec]
+forall a. String -&gt; Q a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var"
+ >invalidDomain</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-13"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >}</span
+ ><span
+ >
+</span
+ ><span id="line-14"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
+</span
+ ><span id="line-15"
+ ></span
+ ><span
+ > </span
+ ><span id=""
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >invalidDomain</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 class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >Q</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="#"
+ ><span class="hs-identifier hs-type"
+ >a</span
+ ></a
+ ></span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-16"
+ ></span
+ ><span
+ > </span
+ ><span id=""
+ ><span class="annot"
+ ><span class="annottext"
+ >invalidDomain :: forall a. String -&gt; Q a
+</span
+ ><a href="#"
+ ><span class="hs-identifier hs-var hs-var"
+ >invalidDomain</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >String
+</span
+ ><span class="hs-identifier"
+ >_</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >String -&gt; Q a
+forall (m :: * -&gt; *) a. MonadFail m =&gt; String -&gt; m a
+</span
+ ><span class="hs-identifier hs-var"
+ >fail</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >String
+</span
+ ><span class="hs-string"
+ >&quot;stringQuoter: only valid in expression context&quot;</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-17"
+ ></span
+ ></pre
+ ></body
+ ></html
+>
diff --git a/hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html b/hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html
new file mode 100644
index 00000000..38dfb97e
--- /dev/null
+++ b/hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html
@@ -0,0 +1,661 @@
+<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 TemplateHaskell #-}</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-3"
+ ></span
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >TemplateHaskellQuasiquotes</span
+ ><span
+ > </span
+ ><span class="hs-keyword"
+ >where</span
+ ><span
+ >
+</span
+ ><span id="line-4"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span class="hs-keyword"
+ >import</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier"
+ >Language.Haskell.TH</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html#aDecl"
+ ><span class="hs-identifier hs-type"
+ >aDecl</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >DecsQ</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span id="aDecl"
+ ><span class="annot"
+ ><span class="annottext"
+ >aDecl :: DecsQ
+</span
+ ><a href="TemplateHaskellQuasiquotes.html#aDecl"
+ ><span class="hs-identifier hs-var hs-var"
+ >aDecl</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[d|</span
+ ><span
+ >
+</span
+ ><span id="line-9"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >bar</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >$</span
+ ><span class="hs-identifier"
+ >aType</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >-&gt;</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-identifier"
+ >Int</span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >String</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >bar</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >$</span
+ ><span class="hs-identifier"
+ >aPattern</span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >$</span
+ ><span class="hs-identifier"
+ >anExpression</span
+ ><span
+ >
+</span
+ ><span id="line-11"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >|]</span
+ ><span
+ >
+</span
+ ><span id="line-12"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-13"
+ ></span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html#aPattern"
+ ><span class="hs-identifier hs-type"
+ >aPattern</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >PatQ</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-14"
+ ></span
+ ><span id="aPattern"
+ ><span class="annot"
+ ><span class="annottext"
+ >aPattern :: PatQ
+</span
+ ><a href="TemplateHaskellQuasiquotes.html#aPattern"
+ ><span class="hs-identifier hs-var hs-var"
+ >aPattern</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[p|</span
+ ><span
+ >
+</span
+ ><span id="line-15"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >aCrazyLongVariableName</span
+ ><span
+ >
+</span
+ ><span id="line-16"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >_unused</span
+ ><span
+ >
+</span
+ ><span id="line-17"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-identifier"
+ >y</span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >z</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ >
+</span
+ ><span id="line-18"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >$</span
+ ><span class="hs-identifier"
+ >aNumberPattern</span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-string"
+ >&quot;hello&quot;</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ >
+</span
+ ><span id="line-19"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ >
+</span
+ ><span id="line-20"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >|]</span
+ ><span
+ >
+</span
+ ><span id="line-21"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-22"
+ ></span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html#aNumberPattern"
+ ><span class="hs-identifier hs-type"
+ >aNumberPattern</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >PatQ</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-23"
+ ></span
+ ><span id="aNumberPattern"
+ ><span class="annot"
+ ><span class="annottext"
+ >aNumberPattern :: PatQ
+</span
+ ><a href="TemplateHaskellQuasiquotes.html#aNumberPattern"
+ ><span class="hs-identifier hs-var hs-var"
+ >aNumberPattern</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[p|</span
+ ><span
+ >
+</span
+ ><span id="line-24"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >w</span
+ ><span class="hs-glyph"
+ >@</span
+ ><span class="hs-identifier"
+ >v</span
+ ><span class="hs-glyph"
+ >@</span
+ ><span class="hs-number"
+ >4.5</span
+ ><span
+ >
+</span
+ ><span id="line-25"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >|]</span
+ ><span
+ >
+</span
+ ><span id="line-26"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-27"
+ ></span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html#anExpression"
+ ><span class="hs-identifier hs-type"
+ >anExpression</span
+ ></a
+ ></span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html#anExpression2"
+ ><span class="hs-identifier hs-type"
+ >anExpression2</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >ExpQ</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-28"
+ ></span
+ ><span id="anExpression"
+ ><span class="annot"
+ ><span class="annottext"
+ >anExpression :: ExpQ
+</span
+ ><a href="TemplateHaskellQuasiquotes.html#anExpression"
+ ><span class="hs-identifier hs-var hs-var"
+ >anExpression</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[e|</span
+ ><span
+ >
+</span
+ ><span id="line-29"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-number"
+ >1</span
+ ><span
+ > </span
+ ><span class="hs-operator"
+ >+</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >$</span
+ ><span class="hs-identifier"
+ >anExpression2</span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-string"
+ >&quot;world&quot;</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ >
+</span
+ ><span id="line-30"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >|]</span
+ ><span
+ >
+</span
+ ><span id="line-31"
+ ></span
+ ><span id="anExpression2"
+ ><span class="annot"
+ ><span class="annottext"
+ >anExpression2 :: ExpQ
+</span
+ ><a href="TemplateHaskellQuasiquotes.html#anExpression2"
+ ><span class="hs-identifier hs-var hs-var"
+ >anExpression2</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[|</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-number"
+ >1</span
+ ><span
+ > </span
+ ><span class="hs-operator"
+ >+</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >round</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >pi</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >|]</span
+ ><span
+ >
+</span
+ ><span id="line-32"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-33"
+ ></span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html#aType"
+ ><span class="hs-identifier hs-type"
+ >aType</span
+ ></a
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >::</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="hs-identifier hs-type"
+ >TypeQ</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-34"
+ ></span
+ ><span id="aType"
+ ><span class="annot"
+ ><span class="annottext"
+ >aType :: TypeQ
+</span
+ ><a href="TemplateHaskellQuasiquotes.html#aType"
+ ><span class="hs-identifier hs-var hs-var"
+ >aType</span
+ ></a
+ ></span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-glyph"
+ >=</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[t|</span
+ ><span
+ >
+</span
+ ><span id="line-35"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >[</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-identifier"
+ >Double</span
+ ><span class="hs-special"
+ >,</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >String</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >]</span
+ ><span
+ >
+</span
+ ><span id="line-36"
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >|]</span
+ ><span
+ >
+</span
+ ><span id="line-37"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-38"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-39"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-40"
+ ></span
+ ></pre
+ ></body
+ ></html
+>
diff --git a/hypsrc-test/ref/src/TemplateHaskellSplices.html b/hypsrc-test/ref/src/TemplateHaskellSplices.html
new file mode 100644
index 00000000..63b0025d
--- /dev/null
+++ b/hypsrc-test/ref/src/TemplateHaskellSplices.html
@@ -0,0 +1,119 @@
+<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 TemplateHaskell #-}</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >TemplateHaskellSplices</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="hs-keyword"
+ >import</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="TemplateHaskellQuasiquotes.html"
+ ><span class="hs-identifier"
+ >TemplateHaskellQuasiquotes</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span class="hs-special"
+ >$</span
+ ><span id="bar"
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-identifier"
+ >aDecl</span
+ ><span class="hs-special"
+ >)</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-7"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-8"
+ ></span
+ ><span id="foo"
+ ><span class="annot"
+ ><span class="annottext"
+ >foo :: Integer
+</span
+ ><a href="TemplateHaskellSplices.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"
+ >Integer -&gt; Integer
+forall a. a -&gt; a
+</span
+ ><span class="hs-identifier hs-var"
+ >id</span
+ ></span
+ ><span
+ > </span
+ ><span class="hs-special"
+ >$</span
+ ><span class="hs-special"
+ >(</span
+ ><span class="hs-identifier"
+ >anExpression2</span
+ ><span class="hs-special"
+ >)</span
+ ><span
+ >
+</span
+ ><span id="line-9"
+ ></span
+ ></pre
+ ></body
+ ></html
+>
diff --git a/hypsrc-test/ref/src/UsingQuasiquotes.html b/hypsrc-test/ref/src/UsingQuasiquotes.html
new file mode 100644
index 00000000..ca48775d
--- /dev/null
+++ b/hypsrc-test/ref/src/UsingQuasiquotes.html
@@ -0,0 +1,104 @@
+<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 QuasiQuotes #-}</span
+ ><span
+ >
+</span
+ ><span id="line-2"
+ ></span
+ ><span class="hs-keyword"
+ >module</span
+ ><span
+ > </span
+ ><span class="hs-identifier"
+ >UsingQuasiquotes</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="hs-keyword"
+ >import</span
+ ><span
+ > </span
+ ><span class="annot"
+ ><a href="Quasiquoter.html"
+ ><span class="hs-identifier"
+ >Quasiquoter</span
+ ></a
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-5"
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-6"
+ ></span
+ ><span id="baz"
+ ><span class="annot"
+ ><span class="annottext"
+ >baz :: [Char]
+</span
+ ><a href="UsingQuasiquotes.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=""
+ >[string| foo bar |]</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class="annottext"
+ >[Char] -&gt; [Char] -&gt; [Char]
+forall a. [a] -&gt; [a] -&gt; [a]
+</span
+ ><span class="hs-operator hs-var"
+ >++</span
+ ></span
+ ><span
+ > </span
+ ><span class="annot"
+ ><span class=""
+ >[string| some
+ mulitline
+ quasiquote
+|]</span
+ ></span
+ ><span
+ >
+</span
+ ><span id="line-10"
+ ></span
+ ></pre
+ ></body
+ ></html
+>
diff --git a/hypsrc-test/src/Bug1091.hs b/hypsrc-test/src/Bug1091.hs
new file mode 100644
index 00000000..f0cea033
--- /dev/null
+++ b/hypsrc-test/src/Bug1091.hs
@@ -0,0 +1,4 @@
+{-# LANGUAGE CPP #-}
+module Bug1091 where
+
+#include "Include1For1091.h"
diff --git a/hypsrc-test/src/Include1For1091.h b/hypsrc-test/src/Include1For1091.h
new file mode 100644
index 00000000..32854b95
--- /dev/null
+++ b/hypsrc-test/src/Include1For1091.h
@@ -0,0 +1,6 @@
+/* Include1For1091.h */
+
+foo :: Int
+foo = 42
+
+#include "Include2For1091.h"
diff --git a/hypsrc-test/src/Include2For1091.h b/hypsrc-test/src/Include2For1091.h
new file mode 100644
index 00000000..c0848fa9
--- /dev/null
+++ b/hypsrc-test/src/Include2For1091.h
@@ -0,0 +1,4 @@
+/* Include2For1091.h */
+
+bar :: Int
+bar = 27
diff --git a/hypsrc-test/src/Quasiquoter.hs b/hypsrc-test/src/Quasiquoter.hs
new file mode 100644
index 00000000..d0a46c33
--- /dev/null
+++ b/hypsrc-test/src/Quasiquoter.hs
@@ -0,0 +1,16 @@
+module Quasiquoter ( string ) where
+
+import Language.Haskell.TH.Quote
+import Language.Haskell.TH.Syntax
+
+-- | Quoter for constructing multiline string literals
+string :: QuasiQuoter
+string = QuasiQuoter
+ { quoteExp = pure . LitE . StringL
+ , quotePat = invalidDomain
+ , quoteType = invalidDomain
+ , quoteDec = invalidDomain
+ }
+ where
+ invalidDomain :: String -> Q a
+ invalidDomain _ = fail "stringQuoter: only valid in expression context"
diff --git a/hypsrc-test/src/TemplateHaskellQuasiquotes.hs b/hypsrc-test/src/TemplateHaskellQuasiquotes.hs
new file mode 100644
index 00000000..6d404921
--- /dev/null
+++ b/hypsrc-test/src/TemplateHaskellQuasiquotes.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE TemplateHaskell #-}
+
+module TemplateHaskellQuasiquotes where
+
+import Language.Haskell.TH
+
+aDecl :: DecsQ
+aDecl = [d|
+ bar :: $aType -> [ (Int, String) ]
+ bar $aPattern = $anExpression
+ |]
+
+aPattern :: PatQ
+aPattern = [p|
+ [ aCrazyLongVariableName
+ , _unused
+ , (y, z)
+ , ( $aNumberPattern, "hello")
+ ]
+ |]
+
+aNumberPattern :: PatQ
+aNumberPattern = [p|
+ w@v@4.5
+ |]
+
+anExpression, anExpression2 :: ExpQ
+anExpression = [e|
+ [ (1 + $anExpression2, "world") ]
+ |]
+anExpression2 = [| (1 + round pi) |]
+
+aType :: TypeQ
+aType = [t|
+ [ (Double, String) ]
+ |]
+
+
+
diff --git a/hypsrc-test/src/TemplateHaskellSplices.hs b/hypsrc-test/src/TemplateHaskellSplices.hs
new file mode 100644
index 00000000..bbd3948e
--- /dev/null
+++ b/hypsrc-test/src/TemplateHaskellSplices.hs
@@ -0,0 +1,8 @@
+{-# LANGUAGE TemplateHaskell #-}
+module TemplateHaskellSplices where
+
+import TemplateHaskellQuasiquotes
+
+$(aDecl)
+
+foo = id $(anExpression2)
diff --git a/hypsrc-test/src/UsingQuasiquotes.hs b/hypsrc-test/src/UsingQuasiquotes.hs
new file mode 100644
index 00000000..34872d4d
--- /dev/null
+++ b/hypsrc-test/src/UsingQuasiquotes.hs
@@ -0,0 +1,9 @@
+{-# LANGUAGE QuasiQuotes #-}
+module UsingQuasiquotes where
+
+import Quasiquoter
+
+baz = [string| foo bar |] ++ [string| some
+ mulitline
+ quasiquote
+|]