9)      !"#$%&'(. Safe-Inferred )*+,-./0123*/0123 )*+,-./0123 Safe-Inferred45678946789456789 Safe-Inferred :;<=>?@ABCDEF :<=>?@ABCDE :;<=>?@ABCDEF Safe-InferredEA score, representing how close a match is. Lower scores are better. GHIJKLMNOPQRSTUVWXYZ[\]^_`aHIJKLMNOPQRSTUVWXYZ[\] GHKJIL XWVUTSRQPONMYZ[\]^_`a Safe-InferrediGiven a set of scores, where the first is lower than the second, returns details for how to rank scores.  This function is in the bY monad since it may require randomness, and it may output status messages while solving, $ particularly if in Verbose mode. c)Greedy hill climbing to improve a config d(Try and minimize the cost of the config ePerturb one value in the list fghijklmnopcdefghijklmnopcde Safe-InferredHIJKLMNOPQRSTUVWXYZ[\]NoneKA URL, or internet address. These addresses will usually start with either  http:// or file://. qrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     qrstuvwxyz{|}~qrstuvwxyz{|}~ Noneb !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None#The languages supported by Hoogle. The Haskell language ( http://haskell.org/,), along with many GHC specific extensions.  None,Only append strings if neither one is empty CLike splitAt, but also return the number of items that were split.  For performance.  None: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  None None None2All once values are equal with respect to keyOnce  If you create it with  it will have the same key. 1 If two are loaded from a file they are equal. Turn on to see file statistics DGiven how many you would like to allocate, return your base address "           None9 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST+  !"#$%&'()*+,-./0123456789:;<=2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTNone =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. USmart constructor for   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.  U VWXY  U V  U VWXYNone@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. Z[ZZ[None \]^_`abcdef`bc\^]_`abcdefNone$ghijklmnopqrstuvwxyz{|}~ghijklmnopqrstuvwxyz{|}~gkjihlmnopqrstuvwxyz{|}~None7Figure out what makes this entry different from others 2Join two entries that are equal under entryUnique &$  NoneNonea U VZ`bcghijklmnopqrstuvwxyz{|}~None  None$A query, representing a user input. 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. AReturn those packages which are explicitly excluded (paired with )  or included (paired with ) in the query. +Set the state of a package within a query.  means delete the package,    for add it, and   for remove it. NoneNone$Render a query, in particular using , for any type signature argument positions. None      None     None  !"#$%& "# !"#$%&None'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. XIf something which is a parent gets merged, then it will still point into the database,  but it won't be very useful. ()*+,'-./(+,()*+,'-./ None0NCreate a substring search index. Values are returned in order where possible. 123456789:;<=>?0@ABCD;0@A 123456789:;<=>?0@ABCD!NoneEFGHIJKLMNOPQRSTUVWXYJMPEFGHIJKLMNOPQRSTUVWXY"None Z[\]^_`abcZ[\]^_`Z[\]^_`abc#Nonedefghijklmnopqrdflodefghijklmnopqr$Nonestuvwxyz{|}~Z[\]^_`stuvwxyz{|}~ stuvwxyz{|}~%None &None 'Noned(None  "#(+,;0@AJMPd)None*None +None,None-None9Apply the PlusModule, MinusModule and MinusPackage modes  .NoneNone +Rendered view for the entry, including namekeywords%type as appropriate, colors matching  renderQuery Documentation for the entry 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 &. !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 O and l. $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. &3Perform a search. The results are returned lazily. 'WGiven a query and a database optionally give a list of what the user might have meant. (^Given a query string and a database return a list of the possible completions for the search.  !"#)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 Language. pA pair containing any parse errors present in the input definition, and the database ignoring any parse errors. $%&'()  !"#$%&'()   "!#$%&'( !"#$%&'(/01 2 3456789:;<=>??@ABCDEFGHIIJKLMNOPQRSTUVWXYZ[\]^_`aabcdeffbghijeklmno/pqrstuvwxyz{|}~g       !""#$$%&&'(()**+,,-./012131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1e1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1d1p1q1r1stutvtwtxtytzt{t|t}t~tttttttttttttttttttttttttttttc      !"#$%&'()*+,-./0123456789:;<=>?@ABC D E F G H I JKLKMKNKOPQRSTUTVTWXYXZX[X\X]X^X_`aKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtuvuwuxuyuz{|{}{~{{{{{{{{{{{{{{{{{{{{{{u{PPPPPPPPPPPPPPP                                          ! " # $ % % & ' ( ) * + , -./%%&0123(456789*:;<=>?@@ABCDEEFGH;IJK5LM98NOP,-QRSTUUVW7XYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9IID     R  !"#$%&'()*+,-./012334566789:;<=>?@ABBCDEFGHIJKLLMNOPQR S T T U V   W X Y Z [ [ \ ] ^ _ ` a b c!d!d!e!f!g!h!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v"w"w"x"y"z"{"|"}"~"###############$$$$$$$$$I$$$$$%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&''''''(((((((((((()))))))******U+++++-------------.S...M hoogle-4.2.15Hoogle Paths_hoogle Data.TypeMap Data.HeapHoogle.Score.TypeHoogle.Score.ScoringHoogle.Score.All General.BaseGeneral.SystemHoogle.Type.Language General.Util General.WebHoogle.Store.ReadBufferHoogle.Store.WriteBufferHoogle.Store.TypeHoogle.Store.AllHoogle.Type.TagStrHoogle.Type.ParseErrorHoogle.Type.DocsHoogle.Type.TypeSigHoogle.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.AllScorescoringURLLanguageHaskellTagStrTagColorTagLinkTagEmphTagBoldTagsStr showTagText showTagANSI showTagHTMLshowTagHTMLWith ParseErrorlineNocolumnNo errorMessage parseInputQueryqueryDatabases queryPackagesquerySetPackage renderQueryResult locationsselfdocsDatabase saveDatabase loadDatabasecreateDatabase showDatabase parseQuerysearch suggestions completionscatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileNameTypeMapemptylookupfindinsertHeapfromListtoListelems singleton insertListpoppopUntilpopWhilepopBy TextMatch MatchSubstr MatchPrefix MatchExactTypeCostCostArgReorder CostDeadArgCostInstanceAddCostInstanceDelCostDupVarQueryCostDupVarResultCostUnrestrict CostRestrict CostRebox CostUnbox CostAliasBwd CostAliasFwdcost textScore typeScore scoreCosts scoreExact $fOrdScore $fEqScore $fShowScore $fMonoidScoreghc-prim GHC.TypesIO improveConfig solveConfigperturbConfigRangeCosttoRange fromRange bestConfig nextRange nextConfig randomRange randomConfigBStringLBString lbsUnpackbsUnpack bsReplace lbsReplacefst3snd3thd3swapfromLeft fromRightisLeftisRight concatMapM unzipEithersinitLastlowerupper readFile' readFileUtf8' readFileUtf8 writeFileUtf8writeFileBinaryltrimrtrimtrimchopbaseGHC.Base++foldrGHC.Listconcatfilterzipmap$ GHC.Classes>=fail>>=>>fmapreturn Control.Arrowarrfirstapp|||loop Data.String fromString Control.MonadguardliftMMonad Data.DataDataFunctorOrdData.Typeable.InternalTypeable MonadPlusIsStringCharIntGHC.IntInt8Int16Int32Int64OrderingWordGHC.WordWord8Word16Word32Word64 Data.EitherEitherStringLeftRightLTEQGTGHC.IOFilePath Data.MaybeMaybe Data.MonoidmappendNothingfoldMzipWithleftApp^<<<<^>>^^>>returnA&&&***secondArrow runKleisliKleisli zeroArrow ArrowZero<+> ArrowPlus+++rightleft ArrowChoice ArrowApply ArrowMonad ArrowLoop Data.Functiononfix Debug.TracetraceControl.Category>>><<<<>mconcatmemptyMonoidgetDualDualappEndoEndogetAllAllgetAnyAnygetSumSum getProductProductgetFirstFirstgetLastLastpartitionEithersrightsleftseither 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 dropWhileEnd Data.Char isSeparatorisSymbol isPunctuationisNumberisMarkisLettergeneralCategory digitToIntUppercaseLetterLowercaseLetterTitlecaseLetterModifierLetter OtherLetterNonSpacingMarkSpacingCombiningMark EnclosingMark DecimalNumber LetterNumber OtherNumberConnectorPunctuationDashPunctuationOpenPunctuationClosePunctuation InitialQuote FinalQuoteOtherPunctuation MathSymbolCurrencySymbolModifierSymbol OtherSymbolSpace LineSeparatorParagraphSeparatorControlFormat Surrogate PrivateUse NotAssignedGeneralCategory GHC.UnicodetoTitletoUppertoLower isAsciiUpper isAsciiLowerNumericshowHexreadHexGHC.Read readLitChar lexLitCharData.Ord comparingDownmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_ zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzeroGHC.CharchrGHC.Show intToDigit showLitCharunzip3unzipzipWith3zip3!! concatMapnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailheadmapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeJustflip.constidordisAsciiisLatin1 isControlisPrintisSpaceisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNumcompare<=<>maxminfilepath-1.3.0.1System.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 pathSeparator isWindows withDirectorywithModeGlobalRead captureOutputsystem_ exitMessage getEnvVar System.IOprintreadFile openTempFileopenBinaryTempFileGHC.IO.Handle.TypesHandle System.Mem performGC System.Exit exitSuccess exitFailureexitWithSystem.EnvironmentgetEnvironment withProgNamewithArgs lookupEnvgetEnv getProgNamegetArgs!System.Environment.ExecutablePathgetExecutablePath(openBinaryTempFileWithDefaultPermissions"openTempFileWithDefaultPermissionsfixIOwithBinaryFilewithFilehPrinthReadylocaleEncodingreadIOreadLn 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.EncodingmkTextEncodingchar8utf32beutf32leutf32utf16beutf16leutf16utf8_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 ReadWriteModeIOModedirectory-1.2.0.0System.DirectorygetTemporaryDirectorygetUserDocumentsDirectorygetAppUserDataDirectorygetHomeDirectorygetModificationTime doesFileExistdoesDirectoryExistsetCurrentDirectorygetCurrentDirectorygetDirectoryContentsfindFilefindExecutablemakeRelativeToCurrentDirectorycanonicalizePathcopyFile renameFilerenameDirectory removeFileremoveDirectoryRecursiveremoveDirectorycreateDirectoryIfMissingcreateDirectorycopyPermissionssetPermissionsgetPermissionssetOwnerSearchablesetOwnerExecutablesetOwnerWritablesetOwnerReadableemptyPermissions searchable executablewritablereadable Permissionsprocess-1.1.0.2System.Process rawSystemsystem++? splitAtLengthsortOngroupOnnubOnsortFstgroupFst groupFsts sortGroupFsts sortGroupFstfoldfold1halvesmergemergeBymergesmergesBysplitreprepsrbreakcompareCaseless compareString compareCharfindM escapeHTML++& unescapeURL++%Args responseOKresponseNotFoundresponseFlattenresponseEvaluateresponseRewritehtmlTag filePathToURL combineURL escapeURL cgiVariablecgiArgs cgiResponseparseHttpQueryArgs splitList splitPairBufferhandlefptr bufferSize newBuffergetPossetPos getStorable getByteStringPatchup:=ptrinFileinBufferpatchupwriteRef modifyRef withBufferput putStorable putByteStringpatchOnceoncestatsonceKeysSGetSGetS getBufferonceBasePutOnceSPutSPutS putBufferputOnces putPending_onceKey valueOncefromOncereadPosrunSPutputDeferputOncerunSGetgetDefer getDeferFromgetOnce getLazyListDefer fromDeferStoregetgetListputListsize errorSGetget0get1get2get3get4get5get6get7get8get9put0put1put2put3put4put5put6put7put8put9putBytegetByte putWord32 getWord32 $fStoreMap $fStoreArray$fStoreByteString $fStore[] $fStoreEither $fStoreMaybe $fStore(,,) $fStore(,) $fStore() $fStoreBool $fStoreChar $fStoreInt $fStoreInt32 $fStoreWord32 $fStoreWord8 $fStoreOnce $fShowOnce $fOrdOnce$fEqOnce $fStoreDefer $fShowDefer $fOrdDefer $fEqDefertags formatTags $fStoreTagStr$fUniplateTagStr$fMonoidTagStrparseErrorWith$fShowParseErrorTagDocs readDocsHTML renderDocs parseHTMLreadHTML $fStoreDocsTypeTFunTVarTLitTAppTypeSimp TypeContext ConstraintTypeSigtAppfromTFunisTLitisTVarfromTApp isTLitTuple insertTApp removeTApp onTypeSig transformSig universeSig variables variablesSigshowConstraintshowFunnormaliseTypeSig normaliseTypesplitFun renameVars $fShowTypeSig $fShowType $fStoreType$fStoreTypeSig$fUniplateType$fShowTypeSimp entryUnique entryJoin EntryScore EntryView ArgPosNumFocusOnEntryentryLocations entryName entryText entryDocs entryPriorityentryKey entryTypeFact FactCtorType FactClassKind FactDataKind FactInstance FactAliasTextItem itemLevelitemKeyitemNameitemTypeitemDispitemURLitemDocs itemPriorityInputentryURLrenderEntryText entryScore $fStoreEntry $fShowEntry resultEntry resultView resultScore renderResultSparseInputHaskell parseLine parseFunction parseTuple parseCtorexts subtractColstextItemfact itemPackage itemEntry itemModuleripple setPriority setModuleURL transDeclesc typeArgsPoscolsfindName unbracket transType transContext transTypeSig transDeclHead transInstHeadtransVaremphboldspacekindsFalseTrueCategoryPackageModuleScopenamestypeSigscopeexact $fMonoidQueryStrPosBracket NoBracket toParseError ascSymbols optionBool parsecQueryparseFlagScopekeyword parsecTypeSig openBrackets shutBrackets bracketer readBracket renderTypeSigBoxReboxUnboxBindingBindLitVar costBinding newBindingnewBindingUnboxnewBindingReboxcostIf addBindingaddVaraddLit mergeBindingscostsBindingLocal costsBindingbindings $fOrdBinding $fEqBinding $fShowBindingAlias_argsrhsAliases fromAliases createAliases mergeAliasestransitiveClosure followAliases followAlias normAliases$fMonoidAliases $fStoreAlias $fShowAliases$fStoreAliases Instances fromInstancescreateInstancesmergeInstances normInstances hasInstance$fMonoidInstances$fStoreInstances$fShowInstances mergeItemsItems fromItems entriesItems createItems $fMonoidItems $fShowItems $fStoreItemscreateSubstrSearchS2_s2Focuss2ResultsCountsFocussPrefixsInfix SubstrSearchtextlensindssearchSubstrSearchcompletionsSubstrSearchbsMatch$fStoreSubstrSearch$fShowSubstrSearch SuggestItem suggestCtor suggestData suggestClassSuggest fromSuggest createSuggest mergeSuggestjoinItem askSuggest contextTrimimprove improveArity improveName$fMonoidSuggest$fStoreSuggestItem$fStoreSuggest$fShowSuggestItem $fShowSuggest EntryInfo entryInfoKeyentryInfoEntriesentryInfoArityentryInfoContextentryInfoAlias$fStoreEntryInfo $fEqEntryInfo$fOrdEntryInfo TypeScore costTypeScorebadargsbadorderbind badInstancebadAlias newTypeScore calcScorecostsTypeScoreLocalcostsTypeScore$fOrdTypeScore $fEqTypeScore$fShowTypeScore ResultArgresultArgEntry resultArgPos resultArgBind ResultAll ResultRealArgPosflattenResults newResultAll addResultAllnewGraphsResultsNodeGraph typeStructuretypeUnstructurenewGraphnewNode graphSearch graphCheck $fStoreNode $fStoreGraph $fShowNode $fShowGraphinfospendingtodo instancesqueryGraphsargGraphresGraph newGraphsnormType graphsSearchresultsCombine delResult addResult $fStoreGraphs $fShowGraphs TypeSearchcreateTypeSearchsearchTypeSearch$fStoreTypeSearch$fShowTypeSearchDataBaseitems nameSearch typeSearchsuggestaliasesshowDataBaseParts showDataBase$fShowDataBase$fStoreDataBaseIdentity hooVersion hooString saveDataBase loadDataBase$fStoreIdentitycreateDataBasecombineDataBase searchName searchType suggestion suggestQuery didYouMeanfixuptoLitVartoApp filterResultsKeytoKeyfromKeysortWithmergeDataBaseResultsmergeQueryResults joinResultscorrectPackage correctModule$fOrdKey$fEqKey getResults toDataBase fromDataBasetoResult$fShowDatabase$fMonoidDatabase