v/      !"#$%&'()*+,-.. /01234567894678946789 :;<=>?@ABCDEF :<=>?@ABCDE :<=>?@ABCDEEA score, representing how close a match is. Lower scores are better. GHIJKLMNOPQRSTUVWXYZ[\HIJKLMNOPQRSTUVWXYZ[\HKJIIJKL XWVUTSRQPONMMNOPQRSTUVWXYZ[\]^_`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 aY monad since it may require randomness, and it may output status messages while solving, $ particularly if in Verbose mode. b)Greedy hill climbing to improve a config c(Try and minimize the cost of the config dPerturb one value in the list HIJKLMNOPQRSTUVWXYZ[\ KA URL, or internet address. These addresses will usually start with either  http:// or file://. efghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~efghijklmn efghijklmn a      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  #The languages supported by Hoogle. The Haskell language ( http://haskell.org/,), along with many GHC specific extensions.    ,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  Turn on to see file statistics 2All 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. DGiven how many you would like to allocate, return your base address    +         =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.  Smart 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. !  !   !@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. """ #$%&'()*+,')*')*-./0123456789:;<=>?@ABCDEFGH-./0123456789:;<=>?@IJABCDEFGH-10/../012334567789:;<=>?@ABCDEFGH!KLM7Figure out what makes this entry different from others 2Join two entries that are equal under entryUnique NOPQRSTUVWXYZ[\]^_`abcdefghijk$KLMNOPQRSTUVWXYZ[\]^_`abcdefghilmnjk!KLLMONNOPQRSTUVWXQRSTUVWXY^]\[ZZ[\]^_ `abcdefgh`abcdefghijkopqrstopqrstopqrspqrsta  !"')*-./0123456789:;<=>?@IJABCDEFGHKLMNOPQRSTUVWXYZ[\]^_`abcdefghilmnjkopqrstuvwxyz{|}~vv $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.    $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. XIf something which is a parent gets merged, then it will still point into the database,  but it won't be very useful.  NCreate a substring search index. Values are returned in order where possible. !"# $               % & !"#$%&'( !"#$%&'( !" !"#$%&'(')*+,)+,)+,( -./0123456)+,-./0123456 -./01234./0123456)789:9:9:*;<=>?@ -69:;<=>?@;<=>?@+ABCAA, A-DEFGHI9Apply the PlusModule, MinusModule and MinusPackage modes JKFGFG.LMNOLL!"#$%&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 0 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 ,. P'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 9 and V. )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. *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. Q,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. )  !"#$%&'()*+,-.)   &(')*+ !"#$%,-.!"#$%"#$%&'()*+,-.R/01234567 8 9:;<=>?@ABCDEEFGHIJKLMNOOPQRSTUVWXYZ[\]^_`aabcdeffbghijeklmno5pqrstuvwxyz{|}~g      !"#$%&'(e)*+,-./0123456789:;<d=>?@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@ghijkllmnnoppqrrsttuvvwxxyzz{|{}{~{{c{{{{{{{{{{{{      !"#$%&'()*+,-./012 3 4 5 6 7 89:9;9<9=>?@ABCBDBEFGFHFIFJFKFL9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^_`_a_b_c_defegeheiejekelemeneoepeqereseteuevewexeyeze{e|e}e~_e>>>>>>>>>>>>>>>                                                      !""#$%&''()*+,+-./01234567899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\?]]^_`abcdefgghijjklmnopqrstuvwxyz{|}~~OOJX                   !!!!!!!!!!!!!! ! ! " " " """"############$$$$$ $!$!$"$O$#$$$%$&$'%(%(%)%)%*%+%,%-%.%/&&&0&1&2&3&4&5&5&6&7&8&9&:&;&<&='>'>'?'@(A(A(B(C(D(E(F(3(G(H)I)I)J)K*L*M*N*O*P*[+Q+R+S-T-T-U-V-W-X-Y-Z.Y.[.C.DS\] hoogle-4.2.7 Paths_hoogleHoogle 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.Allversion getBinDir getLibDir getDataDir getLibexecDirgetDataFileNameScorescoringURLLanguageHaskellTagStrTagColorTagLinkTagEmphTagBoldTagsStr showTagText showTagANSI showTagHTMLshowTagHTMLWith ParseErrorlineNocolumnNo errorMessage parseInputQueryqueryDatabases queryPackagesquerySetPackage renderQueryResult locationsselfdocsDatabase saveDatabase loadDatabasecreateDatabase showDatabase parseQuerysearch suggestions completionscatchIObindirlibdirdatadir libexecdirTypeMapemptylookupfindinsertHeapfromListtoListelems singleton insertListpoppopUntilpopWhilepopBy TextMatch MatchSubstr MatchPrefix MatchExactTypeCostCostArgReorder CostDeadArgCostInstanceAddCostInstanceDelCostDupVarQueryCostDupVarResultCostUnrestrict CostRestrict CostRebox CostUnbox CostAliasBwd CostAliasFwdcost textScore typeScore scoreCostsConfigRangeCostghc-prim GHC.TypesIO improveConfig solveConfigperturbBStringLBString unzipEithersinitLast readFileUtf8' readFileUtf8 writeFileUtf8writeFileBinarychopbaseGHC.Base++foldrGHC.Listconcatfilterzipmap$ GHC.Classes>=fail>>=>>fmapreturn Control.Arrowarrfirstapp|||loop Data.String fromString Control.MonadguardliftMMonad Data.DataDataFunctorOrdData.Typeable.InternalTypeable MonadPlusIsStringCharIntGHC.IntInt8Int16Int32Int64 GHC.OrderingOrderingGHC.WordWordWord8Word16Word32Word64 Data.EitherEitherStringLeftRightGHC.IOFilePath Data.MaybeMaybeNothingfoldMzipWith Data.Monoidmappend 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 getProductProductgetFirstFirstgetLastLast GHC.UnicodetoTitletoUppertoLower isAsciiUpper isAsciiLowerNumericshowHexreadHexGHC.Read readLitChar lexLitCharmfilterapliftM5liftM4liftM3liftM2unlesswhen replicateM_ replicateMfoldM_ zipWithM_zipWithM mapAndUnzipMjoinvoidforever<=<>=>msumforM_forMfilterMmapM_mapM sequence_sequence=<<mplusmzeroGHC.Show intToDigit showLitCharunzip3unzipzipWith3zip3!! concatMapnotElemelemallanyorandreversebreakspansplitAtdroptake dropWhile takeWhilecycle replicaterepeatiteratescanr1scanrfoldr1scanl1scanlfoldllengthnullinitlasttailheadmapMaybe catMaybes listToMaybe maybeToList fromMaybefromJust isNothingisJustmaybeJustflip.constidordchrminmax<=><compareisAsciiisLatin1 isControlisPrintisSpaceisUpperisLowerisAlphaisDigit isOctDigit isHexDigit isAlphaNumGTEQLTfilepath-1.2.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 lbsUnpackbsUnpackfst3snd3thd3swapfromLeft fromRightisLeftisRight concatMapMlowerupper readFile'ltrimrtrimtrim isWindowswithModeGlobalRead captureOutputsystem_ exitMessage getEnvVar System.IOprintreadFile 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.EncodingmkTextEncodingchar8utf32beutf32leutf32utf16beutf16leutf16utf8_bomutf8latin1stdouthFlushGHC.IO.Exception ExitSuccess ExitFailureExitCodenoNewlineTranslationnativeNewlineModeuniversalNewlineMode nativeNewline NoBuffering LineBufferingBlockBuffering BufferModeLFCRLFNewlineoutputNLinputNL NewlineModelocaleEncodingGHC.IO.Encoding.Types TextEncoding GHC.IO.Device AbsoluteSeek RelativeSeek SeekFromEndSeekMode GHC.IO.IOModeReadMode WriteMode AppendMode ReadWriteModeIOModedirectory-1.1.0.1System.DirectorygetTemporaryDirectorygetUserDocumentsDirectorygetAppUserDataDirectorygetHomeDirectorygetModificationTime doesFileExistdoesDirectoryExistsetCurrentDirectorygetCurrentDirectorygetDirectoryContentsfindExecutablemakeRelativeToCurrentDirectorycanonicalizePathcopyFile renameFilerenameDirectory removeFileremoveDirectoryRecursiveremoveDirectorycreateDirectoryIfMissingcreateDirectorycopyPermissionssetPermissionsgetPermissionssetOwnerSearchablesetOwnerExecutablesetOwnerWritablesetOwnerReadableemptyPermissions searchable executablewritablereadable Permissionsprocess-1.1.0.0System.Process rawSystemsystem withDirectory++? groupFstsfoldfold1halvesmergemergeBymergesmergesBysplit splitAtLengthcompareCaseless compareString compareCharsortOngroupOnnubOnsortFstgroupFst sortGroupFsts sortGroupFstreprepsrbreakArgsresponseFlattenresponseEvaluate escapeHTML++&htmlTag filePathToURL combineURL unescapeURL escapeURL++% cgiVariablecgiArgs cgiResponseparseHttpQueryArgs splitList splitPair responseOKresponseNotFoundBufferhandlefptr newBuffergetPossetPos getStorable getByteStringPatchup:=ptrinFileinBufferpatchup withBufferput putStorable putByteStringpatchSGetSGetS getBufferonceBasePutOnceSPutSPutS putBufferputOnces putPendingOnceonce_onceKey valueOncefromOnceonceKeysrunSPutputDeferputOncerunSGetgetDefer getDeferFromgetOnce getLazyListDefer fromDeferStoregetgetListputListsize errorSGetputBytegetByte putWord32 getWord32get0get1get2get3get4get5get6get7get8get9put0put1put2put3put4put5put6put7put8put9tags formatTagsparseErrorWithTagDocs readDocsHTML renderDocs parseHTMLreadHTMLTypeTFunTVarTLitTAppTypeSimp TypeContext ConstraintTypeSigtAppfromTFunisTLitisTVarfromTApp isTLitTuple insertTApp removeTApp onTypeSig variables variablesSigshowConstraintshowFunnormaliseTypeSig normaliseTypesplitFun renameVars transformSig universeSig EntryScore EntryView ArgPosNumFocusOnEntryentryLocations entryName entryText entryDocs entryPriorityentryKey entryTypeFact FactCtorType FactClassKind FactDataKind FactInstance FactAliasTextItem itemLevelitemKeyitemNameitemTypeitemDispitemURLitemDocs itemPriorityInputrenderEntryText entryScore entryUnique entryJoinentryURL resultEntry resultView resultScore renderResultSparseInputHaskell parseLine subtractColsripple transDecl typeArgsPoscolsfindName transType transContext transTypeSig transDeclHead transInstHeadtransVarkindsCategoryPackageModuleScopenamestypeSigscopeFalseTrueStrPosBracket 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 mergeItemsS2_s2Focuss2ResultsCountsFocussPrefixsInfix SubstrSearchtextlensindscreateSubstrSearchsearchSubstrSearchcompletionsSubstrSearchbsMatch SuggestItem suggestCtor suggestData suggestClassSuggest fromSuggest createSuggest mergeSuggestjoinItem askSuggest contextTrimimprove improveArity improveName EntryInfo entryInfoKeyentryInfoEntriesentryInfoArityentryInfoContextentryInfoAlias TypeScore costTypeScorebadargsbadorderbind badInstancebadAlias newTypeScore calcScorecostsTypeScoreLocalcostsTypeScore ResultArgresultArgEntry resultArgPos resultArgBind ResultAll ResultRealArgPosflattenResults newResultAll addResultAllnewGraphsResultsNodeGraph typeStructuretypeUnstructurenewGraphnewNode graphSearch graphCheckinfospendingtodo instancesqueryGraphsargGraphresGraph newGraphsnormType graphsSearchresultsCombine delResult addResult TypeSearchcreateTypeSearchsearchTypeSearchDataBaseitems nameSearch typeSearchsuggestaliasesshowDataBaseParts showDataBaseIdentity saveDataBase loadDataBasecreateDataBasecombineDataBase searchName searchType suggestion suggestQuery didYouMeanfixupKeymergeDataBaseResultsmergeQueryResults joinResults filterResultscorrectPackage correctModule getResultstoResult