Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 2041

ghc-6.10.4-1mdv2010.0.i586.rpm

<!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
>SrcLoc</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_SrcLoc.html")};</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"
>ghc-6.10.4: The GHC API</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"
>SrcLoc</FONT
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>SrcLoc
</A
></DT
><DD
><DL
><DT
><A HREF="#2"
>Constructing SrcLoc
</A
></DT
><DT
><A HREF="#3"
>Unsafely deconstructing SrcLoc
</A
></DT
><DT
><A HREF="#4"
>Misc. operations on SrcLoc
</A
></DT
><DT
><A HREF="#5"
>Predicates on SrcLoc
</A
></DT
></DL
></DD
><DT
><A HREF="#6"
>SrcSpan
</A
></DT
><DD
><DL
><DT
><A HREF="#7"
>Constructing SrcSpan
</A
></DT
><DT
><A HREF="#8"
>Deconstructing SrcSpan
</A
></DT
><DT
><A HREF="#9"
>Unsafely deconstructing SrcSpan
</A
></DT
><DT
><A HREF="#10"
>Predicates on SrcSpan
</A
></DT
></DL
></DD
><DT
><A HREF="#11"
>Located
</A
></DT
><DD
><DL
><DT
><A HREF="#12"
>Constructing Located
</A
></DT
><DT
><A HREF="#13"
>Deconstructing Located
</A
></DT
><DT
><A HREF="#14"
>Combining and comparing Located values
</A
></DT
></DL
></DD
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>This module contains types that relate to the positions of things
 in source files, and allow tagging of those things with locations
</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"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASrcLoc"
>SrcLoc</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSrcLoc"
>mkSrcLoc</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGeneralSrcLoc"
>mkGeneralSrcLoc</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoSrcLoc"
>noSrcLoc</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgeneratedSrcLoc"
>generatedSrcLoc</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinteractiveSrcLoc"
>interactiveSrcLoc</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AadvanceSrcLoc"
>advanceSrcLoc</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocFile"
>srcLocFile</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocLine"
>srcLocLine</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocCol"
>srcLocCol</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprDefnLoc"
>pprDefnLoc</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisGoodSrcLoc"
>isGoodSrcLoc</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ASrcSpan"
>SrcSpan</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGeneralSrcSpan"
>mkGeneralSrcSpan</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkSrcSpan"
>mkSrcSpan</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoSrcSpan"
>noSrcSpan</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwiredInSrcSpan"
>wiredInSrcSpan</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcLocSpan"
>srcLocSpan</A
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombineSrcSpans"
>combineSrcSpans</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanStart"
>srcSpanStart</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanEnd"
>srcSpanEnd</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanFileName_maybe"
>srcSpanFileName_maybe</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanFile"
>srcSpanFile</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanStartLine"
>srcSpanStartLine</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanEndLine"
>srcSpanEndLine</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanStartCol"
>srcSpanStartCol</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsrcSpanEndCol"
>srcSpanEndCol</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisGoodSrcSpan"
>isGoodSrcSpan</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisOneLineSpan"
>isOneLineSpan</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ALocated"
>Located</A
> e = <A HREF="#v%3AL"
>L</A
> <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoLoc"
>noLoc</A
> ::  e -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkGeneralLocated"
>mkGeneralLocated</A
> ::  <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; e -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetLoc"
>getLoc</A
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunLoc"
>unLoc</A
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqLocated"
>eqLocated</A
> :: <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> a =&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcmpLocated"
>cmpLocated</A
> :: <A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> a =&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcombineLocs"
>combineLocs</A
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> b -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddCLoc"
>addCLoc</A
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> b -&gt; c -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aleftmost_smallest"
>leftmost_smallest</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aleftmost_largest"
>leftmost_largest</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Arightmost"
>rightmost</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aspans"
>spans</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisSubspanOf"
>isSubspanOf</A
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>SrcLoc
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SrcLoc"
><A NAME="t%3ASrcLoc"
></A
></A
><B
>SrcLoc</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Represents a single point within a file
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SrcLoc')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SrcLoc" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="2"
><A NAME="2"
>Constructing SrcLoc
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSrcLoc"
><A NAME="v%3AmkSrcLoc"
></A
></A
><B
>mkSrcLoc</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGeneralSrcLoc"
><A NAME="v%3AmkGeneralSrcLoc"
></A
></A
><B
>mkGeneralSrcLoc</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Creates a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
> that has no detailed information about its location
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noSrcLoc"
><A NAME="v%3AnoSrcLoc"
></A
></A
><B
>noSrcLoc</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:generatedSrcLoc"
><A NAME="v%3AgeneratedSrcLoc"
></A
></A
><B
>generatedSrcLoc</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Built-in <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
> values for particular locations
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:interactiveSrcLoc"
><A NAME="v%3AinteractiveSrcLoc"
></A
></A
><B
>interactiveSrcLoc</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:advanceSrcLoc"
><A NAME="v%3AadvanceSrcLoc"
></A
></A
><B
>advanceSrcLoc</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Move the <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
> down by one line if the character is a newline
 and across by one character in any other case
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="3"
><A NAME="3"
>Unsafely deconstructing SrcLoc
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocFile"
><A NAME="v%3AsrcLocFile"
></A
></A
><B
>srcLocFile</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="doc"
>Gives the filename of the <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
> if it is available, otherwise returns a dummy value
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocLine"
><A NAME="v%3AsrcLocLine"
></A
></A
><B
>srcLocLine</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocCol"
><A NAME="v%3AsrcLocCol"
></A
></A
><B
>srcLocCol</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="4"
><A NAME="4"
>Misc. operations on SrcLoc
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprDefnLoc"
><A NAME="v%3ApprDefnLoc"
></A
></A
><B
>pprDefnLoc</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Pretty prints information about the <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> in the style <A HREF="defined at ---.html"
>defined at ...</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="5"
><A NAME="5"
>Predicates on SrcLoc
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isGoodSrcLoc"
><A NAME="v%3AisGoodSrcLoc"
></A
></A
><B
>isGoodSrcLoc</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
><A HREF="Good.html"
>Good</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TT
>s have precise information about their location
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>SrcSpan
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:SrcSpan"
><A NAME="t%3ASrcSpan"
></A
></A
><B
>SrcSpan</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>A SrcSpan delimits a portion of a text file.  It could be represented
by a pair of (line,column) coordinates, but in fact we optimise
slightly by using more compact representations for single-line and
zero-length spans, both of which are quite common.
</P
><P
>The end position is defined to be the column <EM
>after</EM
> the end of the
span.  That is, a span of (1,1)-(1,2) is one character long, and a
span of (1,1)-(1,1) is zero characters long.
</P
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:SrcSpan')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:SrcSpan" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="7"
><A NAME="7"
>Constructing SrcSpan
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGeneralSrcSpan"
><A NAME="v%3AmkGeneralSrcSpan"
></A
></A
><B
>mkGeneralSrcSpan</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Create a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> that has not location information
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkSrcSpan"
><A NAME="v%3AmkSrcSpan"
></A
></A
><B
>mkSrcSpan</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Create a <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> between two points in a file
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noSrcSpan"
><A NAME="v%3AnoSrcSpan"
></A
></A
><B
>noSrcSpan</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:wiredInSrcSpan"
><A NAME="v%3AwiredInSrcSpan"
></A
></A
><B
>wiredInSrcSpan</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Built-in <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>s for common sources of location uncertainty
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcLocSpan"
><A NAME="v%3AsrcLocSpan"
></A
></A
><B
>srcLocSpan</B
> :: <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Create a <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> corresponding to a single point
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:combineSrcSpans"
><A NAME="v%3AcombineSrcSpans"
></A
></A
><B
>combineSrcSpans</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="doc"
>Combines two <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> into one that spans at least all the characters
 within both spans. Assumes the <A HREF="file.html"
>file</A
> part is the same in both inputs
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="8"
><A NAME="8"
>Deconstructing SrcSpan
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanStart"
><A NAME="v%3AsrcSpanStart"
></A
></A
><B
>srcSpanStart</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns the location at the start of the <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> or a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> if that is unavailable
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanEnd"
><A NAME="v%3AsrcSpanEnd"
></A
></A
><B
>srcSpanEnd</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcLoc"
>SrcLoc</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns the location at the end of the <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> or a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> if that is unavailable
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanFileName_maybe"
><A NAME="v%3AsrcSpanFileName_maybe"
></A
></A
><B
>srcSpanFileName_maybe</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="doc"
>Obtains the filename for a <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> if it is <A HREF="good.html"
>good</A
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="9"
><A NAME="9"
>Unsafely deconstructing SrcSpan
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanFile"
><A NAME="v%3AsrcSpanFile"
></A
></A
><B
>srcSpanFile</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanStartLine"
><A NAME="v%3AsrcSpanStartLine"
></A
></A
><B
>srcSpanStartLine</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanEndLine"
><A NAME="v%3AsrcSpanEndLine"
></A
></A
><B
>srcSpanEndLine</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanStartCol"
><A NAME="v%3AsrcSpanStartCol"
></A
></A
><B
>srcSpanStartCol</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:srcSpanEndCol"
><A NAME="v%3AsrcSpanEndCol"
></A
></A
><B
>srcSpanEndCol</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Raises an error when used on a <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="10"
><A NAME="10"
>Predicates on SrcSpan
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isGoodSrcSpan"
><A NAME="v%3AisGoodSrcSpan"
></A
></A
><B
>isGoodSrcSpan</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Test if a <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
> is <A HREF="good.html"
>good</A
>, i.e. has precise location information
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isOneLineSpan"
><A NAME="v%3AisOneLineSpan"
></A
></A
><B
>isOneLineSpan</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>True if the span is known to straddle only one line.
 For <A HREF="bad.html"
>bad</A
> <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>, it returns False
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Located
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Located"
><A NAME="t%3ALocated"
></A
></A
><B
>Located</B
> e </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>We attach SrcSpans to lots of things, so let's have a datatype for it.
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v:L"
><A NAME="v%3AL"
></A
></A
><B
>L</B
> <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> e</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Located')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Located" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Control-Monad.html#t%3AFunctor"
>Functor</A
> <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> e =&gt; <A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> (<A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="12"
><A NAME="12"
>Constructing Located
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noLoc"
><A NAME="v%3AnoLoc"
></A
></A
><B
>noLoc</B
> ::  e -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkGeneralLocated"
><A NAME="v%3AmkGeneralLocated"
></A
></A
><B
>mkGeneralLocated</B
> ::  <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; e -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="13"
><A NAME="13"
>Deconstructing Located
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getLoc"
><A NAME="v%3AgetLoc"
></A
></A
><B
>getLoc</B
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unLoc"
><A NAME="v%3AunLoc"
></A
></A
><B
>unLoc</B
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> e -&gt; e</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section2"
><A NAME="14"
><A NAME="14"
>Combining and comparing Located values
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqLocated"
><A NAME="v%3AeqLocated"
></A
></A
><B
>eqLocated</B
> :: <A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> a =&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Tests whether the two located things are equal
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cmpLocated"
><A NAME="v%3AcmpLocated"
></A
></A
><B
>cmpLocated</B
> :: <A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> a =&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>Tests the ordering of the two located things
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:combineLocs"
><A NAME="v%3AcombineLocs"
></A
></A
><B
>combineLocs</B
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> b -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addCLoc"
><A NAME="v%3AaddCLoc"
></A
></A
><B
>addCLoc</B
> ::  <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> a -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> b -&gt; c -&gt; <A HREF="SrcLoc.html#t%3ALocated"
>Located</A
> c</TD
></TR
><TR
><TD CLASS="doc"
>Combine locations from two <TT
><A HREF="SrcLoc.html#t%3ALocated"
>Located</A
></TT
> things and add them to a third thing
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leftmost_smallest"
><A NAME="v%3Aleftmost_smallest"
></A
></A
><B
>leftmost_smallest</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leftmost_largest"
><A NAME="v%3Aleftmost_largest"
></A
></A
><B
>leftmost_largest</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>Alternative strategies for ordering <TT
><A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:rightmost"
><A NAME="v%3Arightmost"
></A
></A
><B
>rightmost</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:spans"
><A NAME="v%3Aspans"
></A
></A
><B
>spans</B
> :: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
> -&gt; (<A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>, <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
>) -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determines whether a span encloses a given line and column index
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isSubspanOf"
><A NAME="v%3AisSubspanOf"
></A
></A
><B
>isSubspanOf</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
><TD CLASS="rdoc"
>The span that may be enclosed by the other
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="SrcLoc.html#t%3ASrcSpan"
>SrcSpan</A
></TD
><TD CLASS="rdoc"
>The span it may be enclosed by
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
>Determines whether a span is enclosed by another one
</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.4.2</TD
></TR
></TABLE
></BODY
></HTML
>