diff --git a/EXAMPLES b/EXAMPLES
new file mode 100644
--- /dev/null
+++ b/EXAMPLES
@@ -0,0 +1,35 @@
+regexqq - EXAMPLES
+----------------------------------------------------------------------------------------
+
+-- Here is a pasteable-into-ghci version of the below:
+
+:m + Text.Regex.PCRE.QQ
+[$rx|([aeiou]).*(er|ing|tion)([\.,!\?]*)$|] "helloing.!?!?!"
+[$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+tail `fmap` [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+return . tail =<< [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)(.*)$|] (show (negate pi) ++ "asdx")
+
+----------------------------------------------------------------------------------------
+
+ghci> :m + Text.Regex.PCRE.QQ
+
+ghci> [$rx|([aeiou]).*(er|ing|tion)([\.,!\?]*)$|] "helloing.!?!?!"
+Just ["elloing.!?!?!","e","ing",".!?!?!"]
+
+ghci> [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+Just ["-3.141592653589793","-","3","141592653589793"]
+
+ghci> tail `fmap` [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+Just ["-","3","141592653589793"]
+ghci> return . tail =<< [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+Just ["-","3","141592653589793"]
+
+ghci> maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+["-","3","141592653589793"]
+
+ghci> maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)(.*)$|] (show (negate pi) ++ "asdx")
+["-","3","141592653589793","asdx"]
+
+----------------------------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,26 @@
+Copyright (c) Matt Morrow.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+1. Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+3. The names of the author may not be used to endorse or promote
+   products derived from this software without specific prior written
+   permission.
+
+THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff --git a/QQ.html b/QQ.html
new file mode 100644
--- /dev/null
+++ b/QQ.html
@@ -0,0 +1,144 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<pre><font color=Blue>{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}</font>
+
+<font color=Blue>{-|
+  Module      :  Text.Regex.PCRE.QQ
+  Copyright   :  (c) Matt Morrow 2008
+  License     :  BSD3
+
+  Maintainer  :  mjm2002@gmail.com
+  Stability   :  unstable
+  Portability :  non-portable (GHC QuasiQuotes)
+
+  A quasiquoter for Text.Regex.PCRE regexes.
+  This makes use of a new GHC extension known as QuasiQuotes.
+  See the README for the temporary location of the docs for
+  Language.Haskell.TH.Quote. See the EXAMPLES file for examples.
+
+  &gt; ghci&gt; [$rx|([aeiou]).*(er|ing|tion)([\.,\?]*)$|] "helloing.!?!?!"
+  &gt; Just ["elloing.!?!?!","e","ing",".!?!?!"]
+-}</font>
+
+<font color=Green><u>module</u></font> Text<font color=Cyan>.</font>Regex<font color=Cyan>.</font>PCRE<font color=Cyan>.</font>QQ <font color=Cyan>(</font>
+    rx            <font color=Blue>-- the regex QuasiQuoter</font>
+  <font color=Cyan>,</font> regexToExpQ   <font color=Blue>-- String -&gt; ExpQ</font>
+  <font color=Cyan>,</font> regexToPatQ   <font color=Blue>-- String -&gt; PatQ</font>
+
+  <font color=Blue>-- should these be being exported here??</font>
+  <font color=Cyan>,</font> <font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Quote
+  <font color=Cyan>,</font> <font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Syntax
+  <font color=Cyan>,</font> <font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Lib
+  <font color=Cyan>,</font> <font color=Green><u>module</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Ppr
+<font color=Cyan>)</font> <font color=Green><u>where</u></font>
+
+<font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Quote
+<font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Syntax
+<font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Lib
+  hiding <font color=Cyan>(</font>match<font color=Cyan>)</font>
+<font color=Green><u>import</u></font> Language<font color=Cyan>.</font>Haskell<font color=Cyan>.</font>TH<font color=Cyan>.</font>Ppr
+<font color=Green><u>import</u></font> Text<font color=Cyan>.</font>Regex<font color=Cyan>.</font>PCRE<font color=Cyan>.</font>Light
+  <font color=Cyan>(</font>Regex<font color=Cyan>,</font>PCREOption<font color=Cyan>,</font>PCREExecOption<font color=Cyan>)</font>
+<font color=Green><u>import</u></font> <font color=Green><u>qualified</u></font>
+  Text<font color=Cyan>.</font>Regex<font color=Cyan>.</font>PCRE<font color=Cyan>.</font>Light <font color=Green><u>as</u></font> PCRE
+<font color=Green><u>import</u></font> Data<font color=Cyan>.</font>ByteString <font color=Cyan>(</font>ByteString<font color=Cyan>)</font>
+<font color=Green><u>import</u></font> <font color=Green><u>qualified</u></font> Data<font color=Cyan>.</font>ByteString <font color=Green><u>as</u></font> B
+<font color=Green><u>import</u></font> Data<font color=Cyan>.</font>ByteString<font color=Cyan>.</font>Internal <font color=Cyan>(</font>c2w<font color=Cyan>,</font>w2c<font color=Cyan>)</font>
+
+<font color=Blue>-----------------------------------------------------------------------------</font>
+
+<font color=Blue>{- data QuasiQuoter
+    = QuasiQuoter { quoteExp :: String -&gt; Q Exp,
+                    quotePat :: String -&gt; Q Pat}
+              -- Defined in Language.Haskell.TH.Quote -}</font>
+
+<font color=Blue>{- |
+&gt; ghci&gt; maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+&gt; ["-","3","141592653589793"]
+-}</font>
+<font color=Blue>rx</font> <font color=Red>::</font> QuasiQuoter
+<font color=Blue>rx</font> <font color=Red>=</font> QuasiQuoter
+        regexToExpQ
+        regexToPatQ
+
+<font color=Blue>-- | Transform a string rep</font>
+<font color=Blue>-- of a regex to an ExpQ. The</font>
+<font color=Blue>-- resulting ExpQ, when spliced,</font>
+<font color=Blue>-- results in a function of type</font>
+<font color=Blue>-- @String -&gt; Maybe [String]@,</font>
+<font color=Blue>-- where the input is the String</font>
+<font color=Blue>-- to match on. The result is</font>
+<font color=Blue>-- Nothing on error, and Just</font>
+<font color=Blue>-- a list of results on success.</font>
+<font color=Blue>-- Note: I'm packing\/unpacking\/...</font>
+<font color=Blue>-- the ByteString unnecessarily</font>
+<font color=Blue>-- for convenience in testing</font>
+<font color=Blue>-- out the first go at this.</font>
+<font color=Blue>-- This will be dealt with in</font>
+<font color=Blue>-- the future.</font>
+<font color=Blue>regexToExpQ</font> <font color=Red>::</font> String <font color=Red>-&gt;</font> ExpQ
+<font color=Blue>regexToExpQ</font> s <font color=Red>=</font> <font color=Green><u>case</u></font> PCRE<font color=Cyan>.</font>compileM <font color=Cyan>(</font>pack s<font color=Cyan>)</font> pcreOpts <font color=Green><u>of</u></font>
+                  Left err <font color=Red>-&gt;</font> error err
+		             <font color=Blue>-- Give an error at compile time</font>
+			     <font color=Blue>-- if the regex string is invalid</font>
+		  Right <font color=Green><u>_</u></font>  <font color=Red>-&gt;</font> <font color=Red>[</font><font color=Red>|</font>
+                               <font color=Cyan>(</font>return <font color=Cyan>.</font> fmap unpack <font color=Cyan>=&lt;&lt;</font><font color=Cyan>)</font>
+                                     <font color=Cyan>.</font> match <font color=Cyan>(</font>regex s<font color=Cyan>)</font> <font color=Cyan>.</font> pack
+				     <font color=Red>|</font><font color=Red>]</font>
+
+<font color=Blue>-- | Transform a string (presumably)</font>
+<font color=Blue>--  containing a regex to a PatQ.</font>
+<font color=Blue>-- NOTE: Given a regex, a pattern</font>
+<font color=Blue>--    is constructed which matches</font>
+<font color=Blue>--    a literal string containing</font>
+<font color=Blue>--    the verbatim regex. It does</font>
+<font color=Blue>--    this because I couldn't think</font>
+<font color=Blue>--    of anything better for it to</font>
+<font color=Blue>--    do off the cuff. This needs</font>
+<font color=Blue>--    thought.</font>
+<font color=Blue>regexToPatQ</font> <font color=Red>::</font> String <font color=Red>-&gt;</font> PatQ
+<font color=Blue>regexToPatQ</font> <font color=Red>=</font>
+  litP <font color=Cyan>.</font> stringL
+    <font color=Cyan>.</font> dropWhile <font color=Cyan>(</font><font color=Cyan>/=</font><font color=Magenta>'"'</font><font color=Cyan>)</font>
+      <font color=Cyan>.</font> show <font color=Cyan>.</font> regex
+
+<font color=Blue>-- | Regex compilation. Temporarily uses</font>
+<font color=Blue>--  hardcoded options @extended@ and</font>
+<font color=Blue>--  @multiline@.</font>
+<font color=Blue>regex</font> <font color=Red>::</font> String <font color=Red>-&gt;</font> Regex
+<font color=Blue>regex</font> <font color=Red>=</font> flip PCRE<font color=Cyan>.</font>compile pcreOpts <font color=Cyan>.</font> pack
+
+<font color=Blue>-- | Regex matching.</font>
+<font color=Blue>match</font> <font color=Red>::</font> Regex <font color=Red>-&gt;</font> B<font color=Cyan>.</font>ByteString <font color=Red>-&gt;</font> Maybe <font color=Red>[</font>B<font color=Cyan>.</font>ByteString<font color=Red>]</font>
+<font color=Blue>match</font> rx <font color=Red>=</font> flip <font color=Cyan>(</font>PCRE<font color=Cyan>.</font>match rx<font color=Cyan>)</font> pcreExecOpts
+
+<font color=Blue>-- | Adjust these to your tastes. An</font>
+<font color=Blue>--  interface to options seems to be</font>
+<font color=Blue>--  the next logical (and practical)</font>
+<font color=Blue>--  step.</font>
+<font color=Blue>pcreOpts</font> <font color=Red>::</font> <font color=Red>[</font>PCREOption<font color=Red>]</font>
+<font color=Blue>pcreOpts</font> <font color=Red>=</font>
+  <font color=Red>[</font> PCRE<font color=Cyan>.</font>extended
+  <font color=Cyan>,</font> PCRE<font color=Cyan>.</font>multiline <font color=Red>]</font>
+  <font color=Blue>-- , dotall, caseless, utf8</font>
+  <font color=Blue>-- , newline_any, PCRE.newline_crlf ]</font>
+
+<font color=Blue>-- | Adjust these to your tastes. An</font>
+<font color=Blue>--  interface to options seems to be</font>
+<font color=Blue>--  the next logical (and practical)</font>
+<font color=Blue>--  step.</font>
+<font color=Blue>pcreExecOpts</font> <font color=Red>::</font> <font color=Red>[</font>PCREExecOption<font color=Red>]</font>
+<font color=Blue>pcreExecOpts</font> <font color=Red>=</font> []
+  <font color=Blue>-- [ PCRE.exec_newline_crlf</font>
+  <font color=Blue>-- , exec_newline_any, PCRE.exec_notempty</font>
+  <font color=Blue>-- , PCRE.exec_notbol, PCRE.exec_noteol ]</font>
+
+<font color=Blue>pack</font> <font color=Red>::</font> String <font color=Red>-&gt;</font> ByteString
+<font color=Blue>pack</font> <font color=Red>=</font> B<font color=Cyan>.</font>pack <font color=Cyan>.</font> fmap c2w
+
+<font color=Blue>unpack</font> <font color=Red>::</font> ByteString <font color=Red>-&gt;</font> String
+<font color=Blue>unpack</font> <font color=Red>=</font> fmap w2c <font color=Cyan>.</font> B<font color=Cyan>.</font>unpack
+
+<font color=Blue>-----------------------------------------------------------------------------</font>
+</pre>
+</html>
diff --git a/README b/README
new file mode 100644
--- /dev/null
+++ b/README
@@ -0,0 +1,14 @@
+regexqq - Matt Morrow, 2008.
+
+The current (as of 080623) location of the
+current template-haskell docs are temporarily
+(until they're located in the standard place)
+available at:
+
+http://code.haskell.org/~morrow/code/haskell/misc/template-haskell-HEAD_080623/
+
+An example:
+
+ghci> :m + Text.Regex.PCRE.QQ
+ghci> [$rx|([aeiou]).*(er|ing|tion)([\.,!\?]*)$|] "helloing.!?!?!"
+Just ["elloing.!?!?!","e","ing",".!?!?!"]
diff --git a/README.ghc-6.8 b/README.ghc-6.8
new file mode 100644
--- /dev/null
+++ b/README.ghc-6.8
@@ -0,0 +1,13 @@
+ghc-6.8.* doesn't yet support QuasiQuotes.
+
+BUT, there is a patched ghc-6.8.3 that *does*
+support QuasiQuotes at:
+
+http://code.haskell.org/~morrow/quasiquotes/ghc-6.8.3_QQ-0.1.tar.bz2
+
+NOTE:
+  ghc-6.8.3_QQ-0.1.tar.bz2 *already*
+  has the extralibs included.
+
+If you are unwilling/unable to use ghc-6.9, then building
+ghc-6.8.3_QQ-0.1 is the only option.
diff --git a/Setup.lhs b/Setup.lhs
new file mode 100644
--- /dev/null
+++ b/Setup.lhs
@@ -0,0 +1,4 @@
+> import Distribution.Simple
+> main :: IO ()
+> main = defaultMain
+
diff --git a/Text/Regex/PCRE/QQ.hs b/Text/Regex/PCRE/QQ.hs
new file mode 100644
--- /dev/null
+++ b/Text/Regex/PCRE/QQ.hs
@@ -0,0 +1,140 @@
+{-# LANGUAGE TemplateHaskell, QuasiQuotes #-}
+
+{-|
+  Module      :  Text.Regex.PCRE.QQ
+  Copyright   :  (c) Matt Morrow 2008
+  License     :  BSD3
+
+  Maintainer  :  mjm2002@gmail.com
+  Stability   :  unstable
+  Portability :  non-portable (GHC QuasiQuotes)
+
+  A quasiquoter for Text.Regex.PCRE regexes.
+  This makes use of a new GHC extension known as QuasiQuotes.
+  See the README for the temporary location of the docs for
+  Language.Haskell.TH.Quote. See the EXAMPLES file for examples.
+
+  > ghci> [$rx|([aeiou]).*(er|ing|tion)([\.,\?]*)$|] "helloing.!?!?!"
+  > Just ["elloing.!?!?!","e","ing",".!?!?!"]
+-}
+
+module Text.Regex.PCRE.QQ (
+    rx            -- the regex QuasiQuoter
+  , regexToExpQ   -- String -> ExpQ
+  , regexToPatQ   -- String -> PatQ
+
+  -- should these be being exported here??
+  , module Language.Haskell.TH.Quote
+  , module Language.Haskell.TH.Syntax
+  , module Language.Haskell.TH.Lib
+  , module Language.Haskell.TH.Ppr
+) where
+
+import Language.Haskell.TH.Quote
+import Language.Haskell.TH.Syntax
+import Language.Haskell.TH.Lib
+  hiding (match)
+import Language.Haskell.TH.Ppr
+import Text.Regex.PCRE.Light
+  (Regex,PCREOption,PCREExecOption)
+import qualified
+  Text.Regex.PCRE.Light as PCRE
+import Data.ByteString (ByteString)
+import qualified Data.ByteString as B
+import Data.ByteString.Internal (c2w,w2c)
+
+-----------------------------------------------------------------------------
+
+{- data QuasiQuoter
+    = QuasiQuoter { quoteExp :: String -> Q Exp,
+                    quotePat :: String -> Q Pat}
+              -- Defined in Language.Haskell.TH.Quote -}
+
+{- |
+> ghci> maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+> ["-","3","141592653589793"]
+-}
+rx :: QuasiQuoter
+rx = QuasiQuoter
+        regexToExpQ
+        regexToPatQ
+
+-- | Transform a string rep
+-- of a regex to an ExpQ. The
+-- resulting ExpQ, when spliced,
+-- results in a function of type
+-- @String -> Maybe [String]@,
+-- where the input is the String
+-- to match on. The result is
+-- Nothing on error, and Just
+-- a list of results on success.
+-- Note: I'm packing\/unpacking\/...
+-- the ByteString unnecessarily
+-- for convenience in testing
+-- out the first go at this.
+-- This will be dealt with in
+-- the future.
+regexToExpQ :: String -> ExpQ
+regexToExpQ s = case PCRE.compileM (pack s) pcreOpts of
+                  Left err -> error err
+		             -- Give an error at compile time
+			     -- if the regex string is invalid
+		  Right _  -> [|
+                               (return . fmap unpack =<<)
+                                     . match (regex s) . pack
+				     |]
+
+-- | Transform a string (presumably)
+--  containing a regex to a PatQ.
+-- NOTE: Given a regex, a pattern
+--    is constructed which matches
+--    a literal string containing
+--    the verbatim regex. It does
+--    this because I couldn't think
+--    of anything better for it to
+--    do off the cuff. This needs
+--    thought.
+regexToPatQ :: String -> PatQ
+regexToPatQ =
+  litP . stringL
+    . dropWhile (/='"')
+      . show . regex
+
+-- | Regex compilation. Temporarily uses
+--  hardcoded options @extended@ and
+--  @multiline@.
+regex :: String -> Regex
+regex = flip PCRE.compile pcreOpts . pack
+
+-- | Regex matching.
+match :: Regex -> B.ByteString -> Maybe [B.ByteString]
+match rx = flip (PCRE.match rx) pcreExecOpts
+
+-- | Adjust these to your tastes. An
+--  interface to options seems to be
+--  the next logical (and practical)
+--  step.
+pcreOpts :: [PCREOption]
+pcreOpts =
+  [ PCRE.extended
+  , PCRE.multiline ]
+  -- , dotall, caseless, utf8
+  -- , newline_any, PCRE.newline_crlf ]
+
+-- | Adjust these to your tastes. An
+--  interface to options seems to be
+--  the next logical (and practical)
+--  step.
+pcreExecOpts :: [PCREExecOption]
+pcreExecOpts = []
+  -- [ PCRE.exec_newline_crlf
+  -- , exec_newline_any, PCRE.exec_notempty
+  -- , PCRE.exec_notbol, PCRE.exec_noteol ]
+
+pack :: String -> ByteString
+pack = B.pack . fmap c2w
+
+unpack :: ByteString -> String
+unpack = fmap w2c . B.unpack
+
+-----------------------------------------------------------------------------
diff --git a/docs/Text-Regex-PCRE-QQ.html b/docs/Text-Regex-PCRE-QQ.html
new file mode 100644
--- /dev/null
+++ b/docs/Text-Regex-PCRE-QQ.html
@@ -0,0 +1,235 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--Rendered using the Haskell Html Library v0.2-->
+<HTML
+><HEAD
+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
+><TITLE
+>Text.Regex.PCRE.QQ</TITLE
+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
+><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
+></SCRIPT
+></HEAD
+><BODY
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="topbar"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD
+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
+></TD
+><TD CLASS="title"
+>regexqq-0.1: A quasiquoter for Text.Regex.PCRE regexes.</TD
+><TD CLASS="topbut"
+><A HREF="index.html"
+>Contents</A
+></TD
+><TD CLASS="topbut"
+><A HREF="doc-index.html"
+>Index</A
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="modulebar"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD
+><FONT SIZE="6"
+>Text.Regex.PCRE.QQ</FONT
+></TD
+><TD ALIGN="right"
+><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="infohead"
+>Portability</TD
+><TD CLASS="infoval"
+>non-portable (GHC QuasiQuotes)</TD
+></TR
+><TR
+><TD CLASS="infohead"
+>Stability</TD
+><TD CLASS="infoval"
+>unstable</TD
+></TR
+><TR
+><TD CLASS="infohead"
+>Maintainer</TD
+><TD CLASS="infoval"
+>mjm2002@gmail.com</TD
+></TR
+></TABLE
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Description</TD
+></TR
+><TR
+><TD CLASS="doc"
+><P
+>A quasiquoter for Text.Regex.PCRE regexes.
+  This makes use of a new GHC extension known as QuasiQuotes.
+  See the README for the temporary location of the docs for
+  Language.Haskell.TH.Quote. See the EXAMPLES file for examples.
+</P
+><PRE
+> ghci&gt; [$rx|([aeiou]).*(er|ing|tion)([\.,\?]*)$|] &quot;helloing.!?!?!&quot;
+ Just [&quot;elloing.!?!?!&quot;,&quot;e&quot;,&quot;ing&quot;,&quot;.!?!?!&quot;]
+</PRE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Synopsis</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="body"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="decl"
+><A HREF="#v%3Arx"
+>rx</A
+> :: QuasiQuoter</TD
+></TR
+><TR
+><TD CLASS="s8"
+></TD
+></TR
+><TR
+><TD CLASS="decl"
+><A HREF="#v%3AregexToExpQ"
+>regexToExpQ</A
+> :: String -&gt; ExpQ</TD
+></TR
+><TR
+><TD CLASS="s8"
+></TD
+></TR
+><TR
+><TD CLASS="decl"
+><A HREF="#v%3AregexToPatQ"
+>regexToPatQ</A
+> :: String -&gt; PatQ</TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Documentation</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="decl"
+><A NAME="v%3Arx"
+></A
+><B
+>rx</B
+> :: QuasiQuoter</TD
+></TR
+><TR
+><TD CLASS="doc"
+><PRE
+> ghci&gt; maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+ [&quot;-&quot;,&quot;3&quot;,&quot;141592653589793&quot;]
+</PRE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="decl"
+><A NAME="v%3AregexToExpQ"
+></A
+><B
+>regexToExpQ</B
+> :: String -&gt; ExpQ</TD
+></TR
+><TR
+><TD CLASS="doc"
+>Transform a string rep
+ of a regex to an ExpQ. The
+ resulting ExpQ, when spliced,
+ results in a function of type
+ <TT
+>String -&gt; Maybe [String]</TT
+>,
+ where the input is the String
+ to match on. The result is
+ Nothing on error, and Just
+ a list of results on success.
+ Note: I'm packing/unpacking/...
+ the ByteString unnecessarily
+ for convenience in testing
+ out the first go at this.
+ This will be dealt with in
+ the future.
+</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="decl"
+><A NAME="v%3AregexToPatQ"
+></A
+><B
+>regexToPatQ</B
+> :: String -&gt; PatQ</TD
+></TR
+><TR
+><TD CLASS="doc"
+>Transform a string (presumably)
+  containing a regex to a PatQ.
+ NOTE: Given a regex, a pattern
+    is constructed which matches
+    a literal string containing
+    the verbatim regex. It does
+    this because I couldn't think
+    of anything better for it to
+    do off the cuff. This needs
+    thought.
+</TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="botbar"
+>Produced by <A HREF="http://www.haskell.org/haddock/"
+>Haddock</A
+> version 2.1.0</TD
+></TR
+></TABLE
+></BODY
+></HTML
+>
diff --git a/docs/doc-index.html b/docs/doc-index.html
new file mode 100644
--- /dev/null
+++ b/docs/doc-index.html
@@ -0,0 +1,2122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--Rendered using the Haskell Html Library v0.2-->
+<HTML
+><HEAD
+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
+><TITLE
+>regexqq-0.1: A quasiquoter for Text.Regex.PCRE regexes. (Index)</TITLE
+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
+><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
+></SCRIPT
+></HEAD
+><BODY
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="topbar"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD
+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
+></TD
+><TD CLASS="title"
+>regexqq-0.1: A quasiquoter for Text.Regex.PCRE regexes.</TD
+><TD CLASS="topbut"
+><A HREF="index.html"
+>Contents</A
+></TD
+><TD CLASS="topbut"
+><A HREF="doc-index.html"
+>Index</A
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD COLSPAN="2" STYLE="padding-top:5px;"
+><FORM onsubmit="full_search(); return false;" ACTION=""
+>Search: <INPUT ID="searchbox" onkeyup="quick_search()"
+> <INPUT VALUE="Search" TYPE="submit"
+> <SPAN ID="searchmsg"
+> </SPAN
+></FORM
+></TD
+></TR
+><TR
+><TD
+><TABLE ID="indexlist" CELLPADDING="0" CELLSPACING="5"
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Alone</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>alpha</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>AppE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>appE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Applied</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>appPrec</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>appsE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>AppT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>appT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ArithSeqE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>arithSeqE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ArrowT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>arrowT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>AsP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>asP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>bindQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>BindS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>bindS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Body</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>BodyQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Callconv</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CaseE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>caseE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CCall</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>cCall</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CharL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>charL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CharPos</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ClassD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>classD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ClassI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ClassOpI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>Clause</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>clause</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ClauseQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>combine</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CompE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>compE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Con</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CondE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>condE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ConE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>conE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ConP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>conP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ConQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ConT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>conT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Cxt</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>cxt</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>CxtQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>DataConI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>DataD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>dataD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>DataName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>dataToExpQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>dataToPatQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>dataToQa</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Dec</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>DecQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>defaultFixity</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>DoE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>doE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>DoublePrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>doublePrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>dyn</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Exp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ExportF</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ExpQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FieldExp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fieldExp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FieldExpQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FieldPat</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fieldPat</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FieldPatQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>Fixity</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FixityDirection</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FloatPrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>floatPrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ForallC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>forallC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ForallT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>forallT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Foreign</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ForeignD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>forImpD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FromR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromThenE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FromThenR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromThenR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromThenToE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FromThenToR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromThenToR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromToE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FromToR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>fromToR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>FunD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>funD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>FunDep</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>funDep</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>genpat</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>global</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Guard</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>GuardedB</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>guardedB</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>GuardQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ImportF</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Infix</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>infixApp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfixC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>infixC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfixE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>infixE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfixL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfixN</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfixP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>infixP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfixR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Info</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InfoQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>InstanceD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>instanceD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>IntegerL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>integerL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>IntPrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>intPrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>IsStrict</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>isStrict</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>lam1E</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>LamE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>lamE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>LetE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>letE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>LetS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>letS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Lift</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>lift</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ListE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>listE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ListP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>listP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ListT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>listT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Lit</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>LitE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>litE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>LitP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>litP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>Loc</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>location</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>loc_end</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>loc_filename</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>loc_module</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>loc_package</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>loc_start</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>Match</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>MatchQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>maxPrecedence</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkModName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkNameG_d</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkNameG_tc</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkNameG_v</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkNameL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkNameU</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkOccName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>mkPkgName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ModName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>modString</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>Name</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>nameBase</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameFlavour</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameG</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameIs</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>nameModule</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameSpace</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NameU</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>nestDepth</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>newName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NewtypeD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>newtypeD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NoBindS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>noBindS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>noPrec</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NormalB</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>normalB</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NormalC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>normalC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NormalG</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>normalG</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>normalGE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>NotStrict</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>notStrict</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>OccName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>occString</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>opPrec</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>parensIf</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ParS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>parS</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Pat</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>PatG</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>patG</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>patGE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>PatQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>PkgName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pkgString</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Ppr</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ppr</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprBody</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprCxt</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprExp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprFields</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprFixity</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprInfixExp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprint</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprLit</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprMaybeExp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprParendType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprPat</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprStrictType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprTyApp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>pprVarStrictType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ppr_list</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ppr_sig</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Precedence</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>PrimTyConI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Q</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>qLocation</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>qNewName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>qRecover</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>qReify</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>qReport</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>qRunIO</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Quasi</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry" COLSPAN="2"
+>QuasiQuoter</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>1 (Type/Class)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexannot"
+>2 (Data Constructor)</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>quoteExp</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>quotePat</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Range</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>RangeQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>RationalL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>rationalL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>RecC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>recC</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>RecConE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>recConE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>recover</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>RecP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>recP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>RecUpdE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>recUpdE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>regexToExpQ</TD
+><TD CLASS="indexlinks"
+><A HREF="Text-Regex-PCRE-QQ.html#v%3AregexToExpQ"
+>Text.Regex.PCRE.QQ</A
+></TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>regexToPatQ</TD
+><TD CLASS="indexlinks"
+><A HREF="Text-Regex-PCRE-QQ.html#v%3AregexToPatQ"
+>Text.Regex.PCRE.QQ</A
+></TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>reify</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>rename</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>report</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>returnQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>runIO</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>runQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>rx</TD
+><TD CLASS="indexlinks"
+><A HREF="Text-Regex-PCRE-QQ.html#v%3Arx"
+>Text.Regex.PCRE.QQ</A
+></TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Safe</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>safe</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Safety</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>sectionL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>sectionR</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>sequenceQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>showName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>showName'</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>showtextl</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>SigD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>sigD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>SigE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>sigE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>SigP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>sigP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>simpleMatch</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>split</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>StdCall</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>stdCall</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Stmt</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>StmtQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Strict</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>StrictType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>strictType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>StrictTypeQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>stringE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>StringL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>stringL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TcClsName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Threadsafe</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>threadsafe</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TildeP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tildeP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TupE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tupE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tupleDataName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TupleT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tupleT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tupleTypeName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TupP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tupP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TyConI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Type</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TypeQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TySynD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>tySynD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>TyVarI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Uniq</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>Unsafe</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>unsafe</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>ValD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>valD</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>varE</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarI</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarName</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>varP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarStrictType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>varStrictType</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarStrictTypeQ</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>VarT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>varT</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>where_clause</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>WildP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>wildP</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>WordPrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+><TR CLASS="indexrow"
+><TD CLASS="indexentry"
+>wordPrimL</TD
+><TD CLASS="indexlinks"
+>Text.Regex.PCRE.QQ</TD
+></TR
+></TABLE
+></TD
+></TR
+></TABLE
+></BODY
+></HTML
+>
diff --git a/docs/haddock-util.js b/docs/haddock-util.js
new file mode 100644
--- /dev/null
+++ b/docs/haddock-util.js
@@ -0,0 +1,133 @@
+// Haddock JavaScript utilities
+function toggle(button,id)
+{
+   var n = document.getElementById(id).style;
+   if (n.display == "none")
+   {
+    button.src = "minus.gif";
+    n.display = "block";
+   }
+   else
+   {
+    button.src = "plus.gif";
+    n.display = "none";
+   }
+}
+
+
+var max_results = 75; // 50 is not enough to search for map in the base libraries
+var shown_range = null;
+var last_search = null;
+
+function quick_search()
+{
+    perform_search(false);
+}
+
+function full_search()
+{
+    perform_search(true);
+}
+
+
+function perform_search(full)
+{
+    var text = document.getElementById("searchbox").value.toLowerCase();
+    if (text == last_search && !full) return;
+    last_search = text;
+    
+    var table = document.getElementById("indexlist");
+    var status = document.getElementById("searchmsg");
+    var children = table.firstChild.childNodes;
+    
+    // first figure out the first node with the prefix
+    var first = bisect(-1);
+    var last = (first == -1 ? -1 : bisect(1));
+
+    if (first == -1)
+    {
+        table.className = "";
+        status.innerHTML = "No results found, displaying all";
+    }
+    else if (first == 0 && last == children.length - 1)
+    {
+        table.className = "";
+        status.innerHTML = "";
+    }
+    else if (last - first >= max_results && !full)
+    {
+        table.className = "";
+        status.innerHTML = "More than " + max_results + ", press Search to display";
+    }
+    else
+    {
+        // decide what you need to clear/show
+        if (shown_range)
+            setclass(shown_range[0], shown_range[1], "indexrow");
+        setclass(first, last, "indexshow");
+        shown_range = [first, last];
+        table.className = "indexsearch";
+        status.innerHTML = "";
+    }
+
+    
+    function setclass(first, last, status)
+    {
+        for (var i = first; i <= last; i++)
+        {
+            children[i].className = status;
+        }
+    }
+    
+    
+    // do a binary search, treating 0 as ...
+    // return either -1 (no 0's found) or location of most far match
+    function bisect(dir)
+    {
+        var first = 0, finish = children.length - 1;
+        var mid, success = false;
+
+        while (finish - first > 3)
+        {
+            mid = Math.floor((finish + first) / 2);
+
+            var i = checkitem(mid);
+            if (i == 0) i = dir;
+            if (i == -1)
+                finish = mid;
+            else
+                first = mid;
+        }
+        var a = (dir == 1 ? first : finish);
+        var b = (dir == 1 ? finish : first);
+        for (var i = b; i != a - dir; i -= dir)
+        {
+            if (checkitem(i) == 0) return i;
+        }
+        return -1;
+    }    
+    
+    
+    // from an index, decide what the result is
+    // 0 = match, -1 is lower, 1 is higher
+    function checkitem(i)
+    {
+        var s = getitem(i).toLowerCase().substr(0, text.length);
+        if (s == text) return 0;
+        else return (s > text ? -1 : 1);
+    }
+    
+    
+    // from an index, get its string
+    // this abstracts over alternates
+    function getitem(i)
+    {
+        for ( ; i >= 0; i--)
+        {
+            var s = children[i].firstChild.firstChild.data;
+            if (s.indexOf(' ') == -1)
+                return s;
+        }
+        return ""; // should never be reached
+    }
+}
diff --git a/docs/haddock.css b/docs/haddock.css
new file mode 100644
--- /dev/null
+++ b/docs/haddock.css
@@ -0,0 +1,267 @@
+/* -------- Global things --------- */
+
+BODY { 
+  background-color: #ffffff;
+  color: #000000;
+  font-family: sans-serif;
+  } 
+
+A:link    { color: #0000e0; text-decoration: none }
+A:visited { color: #0000a0; text-decoration: none }
+A:hover   { background-color: #e0e0ff; text-decoration: none }
+
+TABLE.vanilla {
+  width: 100%;
+  border-width: 0px;
+  /* I can't seem to specify cellspacing or cellpadding properly using CSS... */
+}
+
+TABLE.vanilla2 {
+  border-width: 0px;
+}
+
+/* <TT> font is a little too small in MSIE */
+TT  { font-size: 100%; }
+PRE { font-size: 100%; }
+
+LI P { margin: 0pt } 
+
+TD {
+  border-width: 0px;
+}
+
+TABLE.narrow {
+  border-width: 0px;
+}
+
+TD.s8  {  height: 8px;  }
+TD.s15 {  height: 15px; }
+
+SPAN.keyword { text-decoration: underline; }
+
+/* Resize the buttom image to match the text size */
+IMG.coll { width : 0.75em; height: 0.75em; margin-bottom: 0; margin-right: 0.5em }
+
+/* --------- Contents page ---------- */
+
+DIV.node {
+  padding-left: 3em;
+}
+
+DIV.cnode {
+  padding-left: 1.75em;
+}
+
+SPAN.pkg {
+  position: absolute;
+  left: 50em;
+}
+
+/* --------- Documentation elements ---------- */
+
+TD.children {
+  padding-left: 25px;
+  }
+
+TD.synopsis {
+  padding: 2px;
+  background-color: #f0f0f0;
+  font-family: monospace
+ }
+
+TD.decl { 
+  padding: 2px;
+  background-color: #f0f0f0; 
+  font-family: monospace;
+  vertical-align: top;
+  }
+
+TD.topdecl {
+  padding: 2px;
+  background-color: #f0f0f0;
+  font-family: monospace;
+  vertical-align: top;
+}
+
+TABLE.declbar {
+  border-spacing: 0px;
+ }
+
+TD.declname {
+  width: 100%;
+ }
+
+TD.declbut {
+  padding-left: 5px;
+  padding-right: 5px;
+  border-left-width: 1px;
+  border-left-color: #000099;
+  border-left-style: solid;
+  white-space: nowrap;
+  font-size: small;
+ }
+
+/* 
+  arg is just like decl, except that wrapping is not allowed.  It is
+  used for function and constructor arguments which have a text box
+  to the right, where if wrapping is allowed the text box squashes up
+  the declaration by wrapping it.
+*/
+TD.arg { 
+  padding: 2px;
+  background-color: #f0f0f0; 
+  font-family: monospace;
+  vertical-align: top;
+  white-space: nowrap;
+  }
+
+TD.recfield { padding-left: 20px }
+
+TD.doc  { 
+  padding-top: 2px;
+  padding-left: 10px;
+  }
+
+TD.ndoc  { 
+  padding: 2px;
+  }
+
+TD.rdoc  { 
+  padding: 2px;
+  padding-left: 10px;
+  width: 100%;
+  }
+
+TD.body  { 
+  padding-left: 10px
+  }
+
+TD.pkg {
+  width: 100%;
+  padding-left: 10px
+}
+
+TABLE.indexsearch TR.indexrow {
+  display: none;
+}
+TABLE.indexsearch TR.indexshow {
+  display: table-row;
+}
+
+TD.indexentry {
+  vertical-align: top;
+  padding-right: 10px
+  }
+
+TD.indexannot {
+  vertical-align: top;
+  padding-left: 20px;
+  white-space: nowrap
+  }
+
+TD.indexlinks {
+  width: 100%
+  }
+
+/* ------- Section Headings ------- */
+
+TD.section1 {
+  padding-top: 15px;
+  font-weight: bold;
+  font-size: 150%
+  }
+
+TD.section2 {
+  padding-top: 10px;
+  font-weight: bold;
+  font-size: 130%
+  }
+
+TD.section3 {
+  padding-top: 5px;
+  font-weight: bold;
+  font-size: 110%
+  }
+
+TD.section4 {
+  font-weight: bold;
+  font-size: 100%
+  }
+
+/* -------------- The title bar at the top of the page */
+
+TD.infohead {
+  color: #ffffff;
+  font-weight: bold;
+  padding-right: 10px;
+  text-align: left;
+}
+
+TD.infoval {
+  color: #ffffff;
+  padding-right: 10px;
+  text-align: left;
+}
+
+TD.topbar {
+  background-color: #000099;
+  padding: 5px;
+}
+
+TD.title {
+  color: #ffffff;
+  padding-left: 10px;
+  width: 100%
+  }
+
+TD.topbut {
+  padding-left: 5px;
+  padding-right: 5px;
+  border-left-width: 1px;
+  border-left-color: #ffffff;
+  border-left-style: solid;
+  white-space: nowrap;
+  }
+
+TD.topbut A:link {
+  color: #ffffff
+  }
+
+TD.topbut A:visited {
+  color: #ffff00
+  }
+
+TD.topbut A:hover {
+  background-color: #6060ff;
+  }
+
+TD.topbut:hover {
+  background-color: #6060ff
+  }
+
+TD.modulebar { 
+  background-color: #0077dd;
+  padding: 5px;
+  border-top-width: 1px;
+  border-top-color: #ffffff;
+  border-top-style: solid;
+  }
+
+/* --------- The page footer --------- */
+
+TD.botbar {
+  background-color: #000099;
+  color: #ffffff;
+  padding: 5px
+  }
+TD.botbar A:link {
+  color: #ffffff;
+  text-decoration: underline
+  }
+TD.botbar A:visited {
+  color: #ffff00
+  }
+TD.botbar A:hover {
+  background-color: #6060ff
+  }
+
diff --git a/docs/haskell_icon.gif b/docs/haskell_icon.gif
new file mode 100644
Binary files /dev/null and b/docs/haskell_icon.gif differ
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,131 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--Rendered using the Haskell Html Library v0.2-->
+<HTML
+><HEAD
+><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
+><TITLE
+>regexqq-0.1: A quasiquoter for Text.Regex.PCRE regexes.</TITLE
+><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
+><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
+></SCRIPT
+></HEAD
+><BODY
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD CLASS="topbar"
+><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD
+><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
+></TD
+><TD CLASS="title"
+>regexqq-0.1: A quasiquoter for Text.Regex.PCRE regexes.</TD
+><TD CLASS="topbut"
+><A HREF="index.html"
+>Contents</A
+></TD
+><TD CLASS="topbut"
+><A HREF="doc-index.html"
+>Index</A
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>regexqq-0.1: A quasiquoter for Text.Regex.PCRE regexes.</TD
+></TR
+><TR
+><TD CLASS="doc"
+><PRE
+> ghci&gt; [$rx|([aeiou]).*(er|ing|tion)([\.,\?]*)$|] &quot;helloing.!?!?!&quot;
+ Just [&quot;elloing.!?!?!&quot;,&quot;e&quot;,&quot;ing&quot;,&quot;.!?!?!&quot;]
+
+ ghci&gt; tail `fmap` [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+ Just [&quot;-&quot;,&quot;3&quot;,&quot;141592653589793&quot;]
+
+ ghci&gt; maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+ [&quot;-&quot;,&quot;3&quot;,&quot;141592653589793&quot;]
+</PRE
+></TD
+></TR
+><TR
+><TD CLASS="section1"
+>Modules</TD
+></TR
+><TR
+><TD
+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0"
+><TR
+><TD STYLE="width: 50em"
+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:0')" ALT="show/hide"
+>Text</TD
+><TD
+></TD
+><TD
+></TD
+></TR
+><TR
+><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:0" STYLE="display:block;"
+><TR
+><TD STYLE="width: 48em"
+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:1')" ALT="show/hide"
+>Regex</TD
+><TD
+></TD
+><TD
+></TD
+></TR
+><TR
+><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:1" STYLE="display:block;"
+><TR
+><TD STYLE="width: 46em"
+><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'n:2')" ALT="show/hide"
+>PCRE</TD
+><TD
+></TD
+><TD
+></TD
+></TR
+><TR
+><TD STYLE="padding: 0; padding-left: 2em" COLSPAN="3"
+><TABLE CLASS="vanilla2" CELLSPACING="0" CELLPADDING="0" ID="n:2" STYLE="display:block;"
+><TR
+><TD STYLE="padding-left: 1.25em;width: 44em"
+><A HREF="Text-Regex-PCRE-QQ.html"
+>Text.Regex.PCRE.QQ</A
+></TD
+><TD
+></TD
+><TD
+></TD
+></TR
+></TABLE
+></TD
+></TR
+></TABLE
+></TD
+></TR
+></TABLE
+></TD
+></TR
+></TABLE
+></TD
+></TR
+><TR
+><TD CLASS="s15"
+></TD
+></TR
+><TR
+><TD CLASS="botbar"
+>Produced by <A HREF="http://www.haskell.org/haddock/"
+>Haddock</A
+> version 2.1.0</TD
+></TR
+></TABLE
+></BODY
+></HTML
+>
diff --git a/docs/minus.gif b/docs/minus.gif
new file mode 100644
Binary files /dev/null and b/docs/minus.gif differ
diff --git a/docs/plus.gif b/docs/plus.gif
new file mode 100644
Binary files /dev/null and b/docs/plus.gif differ
diff --git a/docs/regexqq.haddock b/docs/regexqq.haddock
new file mode 100644
Binary files /dev/null and b/docs/regexqq.haddock differ
diff --git a/regexqq.cabal b/regexqq.cabal
new file mode 100644
--- /dev/null
+++ b/regexqq.cabal
@@ -0,0 +1,28 @@
+name:               regexqq
+version:            0.1
+cabal-version:      >= 1.2
+build-type:         Simple
+license:            BSD3
+license-file:       LICENSE
+category:           Text
+author:             Matt Morrow
+copyright:          Matt Morrow
+maintainer:         Matt Morrow <morrow@jypsis.com>
+stability:          unstable
+synopsis:           A quasiquoter for PCRE regexes.
+description:        > [$rx|([aeiou]).*(er|ing|tion)([\.,!\?]*)$|] "helloing.!?!?!"
+                    > Just ["elloing.!?!?!","e","ing",".!?!?!"]
+                    >
+                    > ghci> tail `fmap` [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+                    > Just ["-","3","141592653589793"]
+                    >
+                    > ghci> maybe [] tail $ [$rx|^([+-])?([0-9]+)\.([0-9]+)|] (show $ negate pi)
+                    > ["-","3","141592653589793"]
+
+library
+  build-depends:    base, bytestring, template-haskell >= 2.2, pcre-light
+  extensions:       TemplateHaskell
+  ghc-options:      -O2 -fglasgow-exts
+  hs-source-dirs:   .
+  exposed-modules:  Text.Regex.PCRE.QQ
+
