po)      !"#$%&'(/ )*+,-./012345 )+,-./01234 )+,-./012346789:;689:;689:;<=>?@AB<=>?@AB<=>?@AB#CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeCJLMNOPQR\]^_`abcdeCJLMNOPQR\]^_`abcdeEA score, representing how close a match is. Lower scores are better. fghijklmnopqrstuvwxyz{ghijklmnopqrstuvwxyz{gjihhijk wvutsrqponmllmnopqrstuvwxyz{|}~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 ghijklmnopqrstuvwxyz{ KA URL, or internet address. These addresses will usually start with either  http:// or file://.       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./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  FCJLMNOPQR\]^_`abcde =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.              !"#$%&'()*+ !"#,-$%&'()*+ !"#$%&'()*+./012.0123.012 456789Items will obtain the Id's 0..length-1 :;<=4689:;<=4689:;<=!>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^">?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\_]^!>??@BAABCDEFGHIJKDEFGHIJKLQPONMMNOPQR STUVWXYZ[STUVWXYZ[\]^`abcde`abcde`abcdabcde^     !"#,-$%&'()*+>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\_]^`abcdefghijklmnopqrstugg vwxyz$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. vwxyz{|}~ vzyxwwxyz{|}~{|}~ $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. "#$ %&         '   ( !"!"!") #$%&'()*+,!"#$%&'()*+, #$%&'()*$%&'()*+,*-./././+012345 #,./012345012345,67866-vwxyz{|}~6.9:;<=>9Apply the PlusModule, MinusModule and MinusPackage modes ?@;<;</ABCDAA 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 &. E!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 G and d. )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. F&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. )  !"#$%&'()   "!#$%&'( !"#$%&'(G01 2 3 456789:;<=>?@@ABCDEFGHIJJKLMNOPQRSTUVWWXYZ[\]^_`abccXde]fghijklmnnooppqrstuvwxyz{|}~0 Y      !"#$%&'()*+,-./012]3456789:;<=>?@ABCDEFeGHIJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqrstuvvwxxyzz{||}~~d      !"#$%&'()*+, - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ABACDEFAGAHIJKLMNMOMPQRQSQTQUQVQWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAijkjljmjnjopqprpsptpupvpwpxpypzp{p|p}p~pppppppppppjpIIIIIIIIIIIIIIIDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDEDE                                                          ! " # $ % & ' ( ) * + , - ./0123456789:;<=>?@ABCDEFGG:HHIJKLMNOPQRRSTUUVWXYZ[\]^_`abcdefghiijk[lmmnnopqrstuuvwxyyz{|}~JJES         !!!!!!!!!!!!!!!!!!!!!""""""""""""""""### # # # $ $ $$$$$$$$$$%%%%%%%%%J%%% %!%"&#&#&$&$&%&&&'&(&)&*'''+','-'.'/'0'0'1'2'3'4'5'6'7'8'9(:(:(;(<)=)=)>)?)@)A)B).)C)D*E*F*G+H+I+J+K+L+V,M,N,O.P.P.Q.R.S.T.U.V/T/W/?/@NXY hoogle-4.2Hoogle Data.Heap Data.TypeMapData.Binary.RawData.Binary.Defer.MonadHoogle.Score.TypeHoogle.Score.ScoringHoogle.Score.All General.BaseGeneral.SystemHoogle.Type.Language 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.AllScorescoringURLLanguageHaskellTagStrTagColorTagLinkTagEmphTagBoldTagsStr showTagText showTagANSI showTagHTMLshowTagHTMLWith ParseErrorlineNocolumnNo errorMessage parseInputQueryqueryDatabases queryPackagesquerySetPackage renderQueryResult locationsselfdocsDatabase saveDatabase loadDatabasecreateDatabase showDatabase parseQuerysearch suggestions completionsHeapemptyfromListtoListelems 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 pathSeparatorfst3snd3thd3swapfromLeft fromRightisLeftisRight concatMapMlowerupper readFile'ltrimrtrimtrimwithModeGlobalRead captureOutputsystem_ exitMessage getEnvVar 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 putFixed6Args escapeHTML++&htmlTag filePathToURL combineURL unescapeURL escapeURL++% cgiVariablecgiArgsparseHttpQueryArgs 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 PlusPackagenamestypeSigscopeGHC.BoolFalseTrueStrPosBracket 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 mergeItemsreorderflattenreindexS2_s2Focuss2ResultsCountsFocussPrefixsInfix 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 suggestQuery didYouMeanfixupKeymergeDataBaseResultsmergeQueryResults joinResults filterResultscorrectPackage correctModule getResultstoResult