aboutsummaryrefslogblamecommitdiff
path: root/hypsrc-test/ref/src/TemplateHaskellQuasiquotes.html
blob: 38dfb97e9e6b84876c61c3dac0b3004b8d6c8346 (plain) (tree)















































































































                                                          


                                  



































                                  


                                  




                             


                                  

























































































































                                                             


                                  



















































































                                                                   
                             
                                  
                             


























































































                                                                 


                                  
















































































































































































                                                                  
 
<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
>