m(      !"#$%&'. ()*+,-./01234 (*+,-./0123 (*+,-./012356789:5789:5789:;<=>?@A;<=>?@A;<=>?@A#BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdBIKLMNOPQ[\]^_`abcdBIKLMNOPQ[\]^_`abcdEA score, representing how close a match is. Lower scores are better. efghijklmnopqrstuvwxyzfghijklmnopqrstuvwxyzfihgghij vutsrqponmlkklmnopqrstuvwxyz{|}~iGiven a set of scores, where the first is lower than the second, returns details for how to rank scores.  This function is in the Y monad since it may require randomness, and it may output status messages while solving, $ particularly if in Verbose mode. )Greedy hill climbing to improve a config (Try and minimize the cost of the config Perturb one value in the list fghijklmnopqrstuvwxyz KA URL, or internet address. These addresses will usually start with either  http:// or file://.       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  ,Only append strings if neither one is empty CLike splitAt, but also return the number of items that were split.  For performance.  /  :Take a piece of text and escape all the HTML special bits 4Escape the second argument as HTML before appending 7Take an escape encoded string, and return the original BEscape the second argument as a CGI query string before appending  FBIKLMNOPQ[\]^_`abcd =Colored text. Index into a 0-based palette. Text without any  should be black. A hyperlink to a URL.  Underlined/ italic text.  Bold text. "A list of tags one after another.  Plain text. Show a & as a string, without any formatting. Show a * on a console with ANSI escape sequences. Show a / as HTML, using CSS classes for color styling. 0Show TagStr with an override for specific tags.      @Data type representing a parse error. All indecies are 1-based. HLine number on which the error occured, 1 for the first line of a file. OColumn number on which the error occured, 1 for the first character of a line. )Error message caused by the parse error. 7Input string which caused the error - sometimes with a ' to indicate which part was incorrect.        !"#$%&   '( !"#$%&      !"#$%&)*+,-)+,-.)+,- /01234Items will obtain the Id's 0..length-1 5678/1345678/1345678!9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY"9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWZXY!9::;=<<=>?@ABCDEF?@ABCDEFGLKJIHHIJKLM NOPQRSTUVNOPQRSTUVWXY[\]^_`[\]^_`[\]^_\]^_`\    '( !"#$%&9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWZXY[\]^_`abcdefghijklmnopbb qrstu$A query, representing a user input. vwxyYTest if a query will result in a search being performed. A query which lists only scopes  (e.g. +base#) will still be reported is blank. zqrstuvwxyz{| qutsrrstuvwxyvwxyz }~$Render a query, in particular using , for any type signature argument positions.     ZGiven a set of items, which may or may not individually satisfy the entryScore invariant, / make it so they _do_ satisfy the invariant. : Also merge any pair of items which are similar enough.  NCreate a substring search index. Values are returned in order where possible. !"# $% &                   '(  !"#$% !"#$%  !"# !"#$%)&'('('(*)*+,-. %'()*+,-.)*+,-.+/01//,qrstuvwxyz{|/-2345679Apply the PlusModule, MinusModule and MinusPackage modes 894545.:;<=::0A Hoogle database, containing a set of functions/!items which can be searched. The  type is used  for a variety of purposes: Creation> A database is created by merging existing databases with the < instance and ,  or by creating a new  from an input file with !.  Serialization" A database is saved to disk with  and loaded from disk with  .  Searching A database is searched using '. >#The languages supported by Hoogle. The Haskell language ( http://haskell.org/,), along with many GHC specific extensions. Save a database to a file. \Load a database from a file. If the database was not saved with the same version of Hoogle, $ it will probably throw an error. !ZCreate a database from an input definition. Source files for Hoogle databases are usually 3 stored in UTF8 format, and should be read using B and _. )Which format the input definition is in. rA list of databases which contain definitions this input definition relies upon (e.g. types, aliases, instances). ZThe input definitions, usually with one definition per line, in a format specified by the . pA pair containing any parse errors present in the input definition, and the database ignoring any parse errors. "QShow debugging information on some parts of the database. If the second argument  is N the whole database will be shown. Otherwise, the listed parts will be shown. #PParse a query for a given language, returning either a parse error, or a query. $YGiven a query, return the list of packages that should be searched. Each package will be H the name of a database, without any file path or extension included. %WGiven a query and a database optionally give a list of what the user might have meant. &XGiven a query data a database return a list of the possible completions for the search. ?'3Perform a search. The results are returned lazily. (  !"#$%&'(   !"#$%&' !"#$%&'@/0 123456789:;<==>?@ABCDEEFGHIJKLMNOPQRSTUUVWXYZ[\]^_`aaVbc[defghijkllmmnnopqrstuvwxyz{|}~/       !"#$%&'()*+,-./0[123456789:;<=>?@ABCDcEFGHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHopqrsttuvvwxxyzz{||}~~b      !"#$%&'()* + , - . / 0 1 2 3 4 5 6 7 8 9 : ;<=<>?@A<B<CDEFGHIHJHKLMLNLOLPLQLR<S<T<U<V<W<X<Y<Z<[<\<]<^<_<`<a<b<c<defegeheiejklkmknkokpkqkrksktkukvkwkxkykzk{k|k}k~kkkkkkekDDDDDDDDDDDDDDD?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@?@                                                               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ;<=>?@ABB7CCDEFGHIJKLMMNOPPQRSTUVWXYZ[\]^_`abcddefYghhiijklmnoppqrsttuvwxyz{|}~EEBP                  !!!!!!!!!!!!!!!!""""""##### # # # # ###$$$$$$$$$E$$$$$%%%%%%% %!%"%#&&&$&%&&&'&(&)&)&*&+&,&-&.&/&0&1&2'3'3'4'5(6(6(7(8(9(:(;('(<(=)>)?)@*A*B*C*D*E*F+G+H+I-J-J-K-L-M-N-O-P.T.Q.8.9IRS hoogle-4.1.3Hoogle Data.Heap Data.TypeMapData.Binary.RawData.Binary.Defer.MonadHoogle.Score.TypeHoogle.Score.ScoringHoogle.Score.All General.BaseGeneral.System General.UtilData.Binary.Defer.Class General.WebData.Binary.DeferHoogle.Type.TagStrHoogle.Type.ParseErrorHoogle.Type.DocumentationHoogle.Type.TypeSigData.Binary.Defer.ArrayData.Binary.Defer.IndexHoogle.Type.ItemHoogle.Type.ResultHoogle.Type.AllHoogle.Language.HaskellHoogle.Query.TypeHoogle.Query.ParserHoogle.Query.Render"Hoogle.DataBase.TypeSearch.BindingHoogle.DataBase.AliasesHoogle.DataBase.InstancesHoogle.DataBase.ItemsHoogle.DataBase.SubstrSearchHoogle.DataBase.Suggest$Hoogle.DataBase.TypeSearch.EntryInfo$Hoogle.DataBase.TypeSearch.TypeScore!Hoogle.DataBase.TypeSearch.Result Hoogle.DataBase.TypeSearch.Graph!Hoogle.DataBase.TypeSearch.GraphsHoogle.DataBase.TypeSearch.AllHoogle.DataBase.TypeHoogle.DataBase.SerialiseHoogle.DataBase.AllHoogle.Query.SuggestHoogle.Query.AllHoogle.Search.ResultsHoogle.Search.AllScorescoringURLTagStrTagColorTagLinkTagEmphTagBoldTagsStr showTagText showTagANSI showTagHTMLshowTagHTMLWith ParseErrorlineNocolumnNo errorMessage parseInputQuery isBlankQuery renderQueryResult locationsselfdocsDatabaseLanguageHaskell saveDatabase loadDatabasecreateDatabase showDatabase parseQueryqueryDatabasesquerySuggestionsqueryCompletionssearchHeapemptyfromListtoListelems singletoninsert insertListpoppopUntilpopWhilepopByTypeMaplookupfindhGetPoshSetPosmaxBytehPutInthPutBytehGetInthGetByteDeferGetBuffer DeferPatchup DeferPendingDeferPutputValueputIntputByteputChr putByteStringputLazyByteStringputDefer runDeferPutrunDeferPendingsrunDeferPending bufferNew bufferAddbufferAddByteStringbufferAddLazyByteString bufferFlush bufferPos bufferPatchgetIntgetBytegetChr getByteStringgetLazyByteStringgetDefer runDeferGet getDeferGet getDeferPutunwrapDeferGet TextMatch MatchSubstr MatchPrefix MatchExactTypeCostCostArgReorder CostDeadArgCostInstanceAddCostInstanceDelCostDupVarQueryCostDupVarResultCostUnrestrict CostRestrict CostRebox CostUnbox CostAliasBwd CostAliasFwdcost textScore typeScore scoreCostsConfigRangeCostghc-prim GHC.TypesIO improveConfig solveConfigperturb unzipEithersinitLast readFileUtf8' readFileUtf8 writeFileUtf8chopbaseGHC.Base++foldrGHC.Listconcatfilterzipmap$ GHC.Classes>=fail>>=>>return Control.Arrowarrfirstapp|||loopMonad Data.DataDataFunctorOrd Data.TypeableTypeable Control.Monad MonadPlusChar GHC.OrderingOrdering Data.EitherEitherStringLeftRightGHC.IOFilePath Data.MaybeMaybeNothingfoldMzipWith Data.Monoidmappend GHC.UnicodeisSpace Debug.TracetraceleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoop Data.FunctiononfixControl.Category>>><<<Data.Ord comparingpartitionEithersrightsleftseither Data.Listunwordswordsunlineslinesproductsumfoldl1'foldl1foldl'unfoldrsortBysort permutations subsequencestailsinitsgroupBygroupdeleteFirstsByunzip7unzip6unzip5unzip4zipWith7zipWith6zipWith5zipWith4zip7zip6zip5zip4genericReplicate genericIndexgenericSplitAt genericDrop genericTake genericLength minimumBy maximumByminimummaximuminsertBy mapAccumR mapAccumL partition transpose intercalate intersperse intersectBy intersectunionByunion\\deleteBydeletenubBynub isInfixOf isSuffixOf isPrefixOf findIndices findIndex elemIndices elemIndex stripPrefix Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToIntUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorControlFormat Surrogate PrivateUse NotAssignedGeneralCategorymconcatmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLasttoTitletoUppertoLower isAsciiUpper isAsciiLowerNumericshowHexreadHexGHC.Read readLitChar lexLitCharmfilterapliftM5liftM4liftM3liftM2liftMunlesswhen replicateM_ replicateMfoldM_ zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMguardmapM_mapM sequence_sequence=<<mplusmzeroGHC.Show intToDigit showLitCharunzip3unzipzipWith3zip3!! concatMapnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailheadmapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeJustflip.constidordchrfmapminmax<=><compareisAsciiisLatin1 isControlisPrintisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNumGTEQLTfilepath-1.2.0.0System.FilePath.Posix makeRelative isAbsolute isRelative makeValidisValid normalise equalFilePathjoinPathsplitDirectories splitPathreplaceDirectory takeDirectorydropTrailingPathSeparatoraddTrailingPathSeparatorhasTrailingPathSeparatorreplaceBaseName takeBaseName takeFileName dropFileNamereplaceFileName splitFileNameisDrivehasDrive dropDrive takeDrive joinDrive splitDrivetakeExtensionsdropExtensionssplitExtensions hasExtension addExtension dropExtension<.>replaceExtension takeExtensionsplitExtension getSearchPathsplitSearchPathisExtSeparator extSeparatorisSearchPathSeparatorsearchPathSeparatorisPathSeparatorpathSeparators pathSeparatorfst3snd3thd3fromLeft fromRightisLeftisRight concatMapMlowerupper readFile'ltrimrtrimtrim captureOutputsystem_ exitMessage System.IOprintreadFiledirectory-1.1.0.0System.DirectorycreateDirectoryIfMissing openTempFileopenBinaryTempFileGHC.IO.Handle.TypesHandle System.Mem performGC System.Exit exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgsgetEnv getProgNamegetArgs(openBinaryTempFileWithDefaultPermissions"openTempFileWithDefaultPermissionsfixIOwithBinaryFilewithFilehPrinthReadyreadIOreadLn appendFile writeFileinteract getContentsgetLinegetCharputStrLnputStrputCharGHC.IO.Handle.FDopenBinaryFileopenFileisEOFstderrstdin GHC.IO.HandlehShowhSetNewlineModehSetBinaryModehIsTerminalDevicehGetEchohSetEcho hIsSeekable hGetBuffering hIsWritable hIsReadable hIsClosedhIsOpenhTellhSeekhSetPosnhGetPosn hGetEncoding hSetEncoding hSetBuffering hLookAheadhIsEOF hSetFileSize hFileSizehClose HandlePosnGHC.IO.Handle.TexthGetBufNonBlocking hGetBufSomehGetBufhPutBufNonBlockinghPutBuf hPutStrLnhPutStrhPutChar hGetContentshGetLinehGetChar hWaitForInputGHC.IO.EncodingmkTextEncodinglocaleEncodingutf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1stdouthFlushGHC.IO.Exception ExitSuccess ExitFailureExitCodenoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline NoBuffering LineBufferingBlockBuffering BufferModeLFCRLFNewlineoutputNLinputNL NewlineModeGHC.IO.Encoding.Types TextEncoding GHC.IO.Device AbsoluteSeek RelativeSeek SeekFromEndSeekMode GHC.IO.IOModeReadMode WriteMode AppendMode ReadWriteModeIOModegetTemporaryDirectorygetUserDocumentsDirectorygetAppUserDataDirectorygetHomeDirectorygetModificationTime doesFileExistdoesDirectoryExistsetCurrentDirectorygetCurrentDirectorygetDirectoryContentsfindExecutablemakeRelativeToCurrentDirectorycanonicalizePathcopyFile renameFilerenameDirectory removeFileremoveDirectoryRecursiveremoveDirectorycreateDirectorycopyPermissionssetPermissionsgetPermissionssetOwnerSearchablesetOwnerExecutablesetOwnerWritablesetOwnerReadableemptyPermissions searchable executablewritablereadable Permissionsprocess-1.0.1.5System.Processsystem rawSystem withDirectory++? groupFstsfoldfold1halvesmergemergeBymergesmergesBysplit splitAtLengthcompareCaseless compareString compareCharsortOngroupOnsortFstgroupFst sortGroupFsts sortGroupFstreprepsrbreakDefer BinaryDeferputgetsizeputFixedgetFixed errorDeferGet putEnumByte getEnumByteputList fromDeferget0get1get2get3get4get5get6get7get8get9 getFixed0 getFixed1 getFixed2 getFixed3 getFixed4 getFixed5 getFixed6put0put1put2put3put4put5put6put7put8put9 putFixed0 putFixed1 putFixed2 putFixed3 putFixed4 putFixed5 putFixed6 escapeHTML++&htmlTag filePathToURL combineURL unescapeURL escapeURL++% cgiVariable envVariablecgiArgsparseHttpQueryArgs splitList splitPair responseOkresponseBadRequestresponseNotFound responseError FixedBinary fixedSizeBinaryDeferGetbinaryDeferGet formatTagsparseErrorWithTag DocumentationhtmlDocumentationrenderDocumentation parseHTMLreadHTMLTypeTFunTVarTLitTAppTypeSimp TypeContext ConstraintTypeSigtAppfromTFunisTLitisTVarfromTApp isTLitTuple insertTApp removeTApp onTypeSig variables variablesSigshowConstraintshowFunnormaliseTypeSig normaliseTypesplitFun renameVars transformSig universeSigArrayarray! arraySizeLinkIndexIdnewIndexnewLinkfromLinklinkKey indexLinks EntryScore EntryView ArgPosNumFocusOnEntryentryLocations entryName entryText entryDocs entryPriorityentryKey entryTypeFact FactCtorType FactClassKind FactDataKind FactInstance FactAliasTextItem itemLevelitemKeyitemNameitemTypeitemDispitemURLitemDocs itemPriorityInputrenderEntryText entryScoreentryURL resultEntry resultView resultScore renderResultSparseInputHaskell parseLine subtractColsripple transDecl typeArgsPoscolsfindName transType transContext transTypeSig transDeclHead transInstHeadtransVarkindsScope MinusModule PlusModule MinusPackage PlusPackagenamestypeSigscope blankQuery isPlusModule isMinusModuleStrPosBracket NoBracket toParseError optionBool parsecQueryparseFlagScope parsecTypeSig bracketer readBracket renderTypeSigBoxReboxUnboxBindingBindLitVar costBinding newBindingnewBindingUnboxnewBindingRebox addBindingaddVaraddLit mergeBindingscostsBindingLocal costsBindingbindingsAlias_argsrhsAliases fromAliases createAliases mergeAliasestransitiveClosure followAliases followAlias normAliases Instances fromInstancescreateInstancesmergeInstances normInstances hasInstanceItems fromItems entriesItems createItems mergeItemsreorderflattenreindexsCountsFocussLastsPrefixsInfix SubstrSearchtextlensindscreateSubstrSearchsearchSubstrSearchcompletionsSubstrSearch putBinary getBinarybsMatch SuggestItem suggestCtor suggestData suggestClassSuggest fromSuggest createSuggest mergeSuggestjoinItem askSuggest contextTrimimprove improveArity improveName EntryInfoentryInfoEntriesentryInfoArityentryInfoContextentryInfoAlias TypeScore costTypeScorebadargsbadorderbind badInstancebadAlias newTypeScore calcScorecostsTypeScoreLocalcostsTypeScore ResultArgresultArgEntry resultArgPos resultArgBind ResultAll ResultRealArgPosflattenResults newResultAll addResultAllnewGraphsResultsNodeGraph typeStructuretypeUnstructurenewGraphnewNode graphSearch graphCheckinfospendingtodo instancesqueryGraphs entryInfoargGraphresGraph newGraphsnormType graphsSearchresultsCombine delResult addResult TypeSearchcreateTypeSearchsearchTypeSearchDataBaseitems nameSearch typeSearchsuggestaliasesshowDataBaseParts showDataBase hooVersion saveDataBase loadDataBasecreateDataBasecombineDataBase searchName searchType suggestion completions suggestQuery didYouMeanfixupKeymergeDataBaseResultsmergeQueryResults joinResults filterResultscorrectPackage correctModule getResultstoResult