h&E:      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                        None+357loc = flip  loc;A precedence parser that reads a single specific character.jkih cfde    [\^]!g"opq#SUWKIJPGHOQMRVLNT<;$%&-0'()*./+312,745689:=>E?@ABCDFXYZ_`ablmnrstuvwxyz{|}~jkih cfde    [\^]!g"opq#SUWKIJPGHOQMRVLNT<;$%&-0'()*./+312,745689:=>E?@ABCDFXYZ_`ablmnrstuvwxyz{|}~None+357 loc k m is the subset of  m whose keys are less than k.loc k m is the subset of  m whose keys are greater than k.loc k m is the subset of  m& whose keys are less than or equal to k.loc k m is the subset of  m) whose keys are greater than or equal to k.None+357 ZNone+357 slocList of length 1 or 2.locList of length 1locList of length 2loctoTuple (One 1) (1,Nothing)toTuple (Two 1 2) (1,Just 2)loctoTuple' (One 1) (Nothing,1)toTuple' (Two 1 2) (Just 1,2)None+357 %locList of length 0, 1, or 2.locList of length 0locList of length 1locList of length 2None+357locTypes that can be converted to ).!This class mostly exists so that 8 can be used in situations that would normally call for  (which we cannot use because  does not have an instance of ).loc stands for positive integer. You can also think of it as position:, because we use it to represent line and column numbers ( and ). has instances of several of the standard numeric typeclasses, although many of the operations throw C" when non-positive values result.  does not have an 9 instance, because there is no sensible way to implement d.locposShowsPrec minPrec 1 """1"posShowsPrec minPrec 42 """42"loc%readPrec_to_S posReadPrec minPrec "1"[(1,"")]&readPrec_to_S posReadPrec minPrec "42" [(42,"")]%readPrec_to_S posReadPrec minPrec "0"[]&readPrec_to_S posReadPrec minPrec "-1"[]loctoEnum 3 :: Pos3toEnum 0 :: Pos#*** Exception: arithmetic underflowfromEnum (3 :: Pos)3locfromInteger 3 :: Pos3fromInteger 0 :: Pos#*** Exception: arithmetic underflow 2 + 3 :: Pos5 3 - 2 :: Pos1 3 - 3 :: Pos#*** Exception: arithmetic underflow 2 * 3 :: Pos6negate 3 :: Pos#*** Exception: arithmetic underflowNone+357loc Stands for location. Consists of a  and a . You can think of a  like a caret position in a text editor. Following the normal convention for text editors and such, line and column numbers start with 1.loc"locShowsPrec minPrec (loc 3 14) """3:14"loc(readPrec_to_S locReadPrec minPrec "3:14" [(3:14,"")]loc Create a & from a line number and column number.locThe smallest location:  1 1.origin1:1loc\ = locq = None+357" locA  consists of a start location () and an end location (). The end location must be greater than the start location; in other words, empty or backwards spans are not permitted."Construct and combine spans using , , , and .loc?@?A?B CD EF?G?H?I EJ EK?L?M?N?O PQ PR PS PT UV 'W XY XZ X[ \] ^_ ^` ^a ^b ^c ^d ^e ^f ;g ;h ;i ;j ;k ;l ;m ;n ;o ;p ;q ;r ;s ;t ;u ;v ;w ;x yz {| {} 6~ 6 6 6      # # # #     9 9 9 9 9 9                                                                              xorstun  loc-0.1.4.0-inplaceData.Loc.Internal.PreludeData.Loc.Internal.MapData.Loc.ExceptionData.Loc.List.OneToTwoData.Loc.List.ZeroToTwo Data.Loc.Pos Data.Loc.Loc Data.Loc.Span Data.Loc.AreaData.Loc.SpanOrLocData.LocData.Loc.Typesbase System.IOprint Data.TuplefstsndGHC.Base otherwise$GHC.EnumenumFrom enumFromThen enumFromToenumFromThenToghc-prim GHC.Classes==>=>>=>>fmapreturnGHC.Real fromIntegral toInteger toRational Control.Monadguard<>memptymappendmconcat<*>pure*>EnumEqIntegralMonadFunctorOrdGHC.ReadReadRealGHC.ShowShow Data.FoldableFoldable SemigroupMonoid GHC.TypesBoolDoubleInt GHC.NaturalNatural GHC.MaybeMaybeOrderingIOFalseNothingJustTrueLTEQGTData.Bifunctorsecondfirstbimap Bifunctor System.Exit exitFailuremfilterData.Traversable mapAccumL sequenceAtraverse GHC.ExceptionthrowGHC.Exception.Type ExceptionRatioZeroDenominatorDenormal DivideByZeroLossOfPrecision UnderflowOverflowArithException traverse_productsumminimummaximumelemlengthnulltoListfoldl1foldr1foldl'foldlfoldr'foldrfoldMap'foldMapfold Text.ReadreadControl.Category>>><<< readListPrecreadPrecreadList readsPrecText.ParserCombinators.ReadPrec readPrec_to_S readP_to_PrecminPrecReadPrec GHC.FloatsqrtquotRemdiv/roundfromEnumtoEnumpredsucc showStringshowsShowSshowListshow showsPrec Data.Maybe catMaybes fromMaybemaybe Data.Function&on Data.Functorvoid$><$>flip.constidwhenstimessconcat<$<*empty:|NonEmptyStringGHC.Err undefinedcompare<<=>maxmin/=&&||notcontainers-0.6.5.1Data.Map.InternalMapData.Set.InternalSet<&> readPrecCharbelowabovebelowInclusiveaboveInclusive LocException EmptySpan$fShowLocException$fExceptionLocException$fEqLocException$fOrdLocExceptionOneToTwoOneTwotoTupletoTuple' $fEqOneToTwo $fOrdOneToTwo$fShowOneToTwo$fReadOneToTwo$fFoldableOneToTwo$fFunctorOneToTwo ZeroToTwoZero $fEqZeroToTwo$fOrdZeroToTwo$fShowZeroToTwo$fReadZeroToTwo$fFoldableZeroToTwo$fFunctorZeroToTwoColumnLineToNattoNatPos posShowsPrec posReadPrec $fEnumPos $fRealPos$fNumPos $fReadPos $fShowPos $fToNatPos $fReadLine $fShowLine $fReadColumn $fShowColumn $fDataColumn $fEqColumn $fOrdColumn $fNumColumn $fRealColumn $fEnumColumn $fToNatColumn $fDataLine$fEqLine $fOrdLine $fNumLine $fRealLine $fEnumLine $fToNatLine $fDataPos$fEqPos$fOrdPosLoclinecolumn locShowsPrec locReadPreclocorigin $fReadLoc $fShowLoc $fDataLoc$fEqLoc$fOrdLocSpanstartend spanShowsPrec spanReadPrecfromTo fromToMaylines overlappinglinesOverlappingtouchingjoin+-joinAsc $fReadSpan $fShowSpan $fDataSpan$fEqSpan $fOrdSpanArea areaShowsPrec areaReadPrecspanAreaareaSpanspansAsc spanCount firstSpanlastSpanaddSpan$fSemigroupArea $fMonoidArea $fReadArea $fShowArea $fDataArea$fEqArea $fOrdArea$fDataTerminus $fEqTerminus $fOrdTerminus SpanOrLocspan spanOrLoc$fShowSpanOrLoc$fDataSpanOrLoc $fEqSpanOrLoc$fOrdSpanOrLoclocLine locColumn spanFromTo spanFromToMayspanOrLocFromTospanOrLocStart spanOrLocEnd areaFromTo areaUnionareaDifference areaSpansAsc spanUnionspanDifference spanStartspanEnd areaStartareaEndData.Map foldWithKeyinsertLookupWithKey'insertWithKey' insertWith'$Data.Map.Internal.DeprecatedShowTree showTreeWithshowTreeData.Map.Internal.Debugvalid splitRoot deleteFindMax deleteFindMin splitLookupsplitfromDistinctDescListfromDistinctAscListfromDescListWithKeyfromAscListWithKeyfromDescListWithfromAscListWith fromDescList fromAscList toDescList toAscListfromListWithKey fromListWithfromListfromSetkeysSetassocskeyselemsfoldMapWithKey foldlWithKey' foldlWithKey foldrWithKey' foldrWithKeymapKeysMonotonic mapKeysWithmapKeysmapAccumRWithKeymapAccumWithKeymapAccumtraverseWithKey mapWithKeymapmapEitherWithKey mapEithertraverseMaybeWithKeymapMaybeWithKeymapMaybepartitionWithKey partition spanAntitonedropWhileAntitonetakeWhileAntitone filterWithKeyfilterisProperSubmapOfByisProperSubmapOf isSubmapOfBy isSubmapOf mergeWithKeycomposedisjointintersectionWithKeyintersectionWith restrictKeys intersectiondifferenceWithKeydifferenceWith withoutKeys difference unionWithKey unionWithunion unionsWithunionsmaxViewminViewmaxViewWithKeyminViewWithKeyupdateMaxWithKeyupdateMinWithKey updateMax updateMin deleteMax deleteMinfindMax lookupMaxfindMin lookupMindeleteAtupdateAtsplitAtdroptakeelemAt lookupIndex findIndexalterFalterupdateLookupWithKey updateWithKeyupdate adjustWithKeyadjustdeleteinsertLookupWithKey insertWithKey insertWithinsert singletonlookupGElookupLElookupGTlookupLTfindWithDefault notMembermemberlookupsize\\!?!