*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-InferredvAdds the specified (key, value) pair to the given list, removing any existing pair with the same key already present. XRemoves all (key, value) pairs from the given list where the key matches the given one. Returns true if the given list starts with the specified elements; false otherwise. (This is an alias for "Data.List.isPrefixOf".)Example: startswith "He" "Hello" -> TruekSimilar to Data.List.span, but performs the test on the entire remaining list instead of just one element.  spanList p xs is the same as ((takeWhileList p xs, dropWhileList p xs) kSimilar to Data.List.break, but performs the test on the entire remaining list instead of just one element.@Given a delimiter and a list (or string), split into components.Example: :split "," "foo,bar,,baz," -> ["foo", "bar", "", "baz", ""] 3split "ba" ",foo,bar,,baz," -> [",foo,","r,,","z,"]Given a list and a replacement list, replaces each occurance of the search list with the replacement list in the operation list.Example: *replace "," "." "127,0,0,1" -> "127.0.0.1"&This could logically be thought of as: ,replace old new l = join new . split old $ l Safe-InferredMNone  NoneMPTakes out the "." and ".." special directory entries from a list of file paths.#Downloads a file from the internet.#Downloads a file from the internet.@Downloads a file from the internet and check it's a Hoogle file.lDownloads a file from the internet, using the system proxy fetchURL :: String -> IO (String) fetchURL url=do pr<-fetchProxy False (_,res) <- browse $ do setErrHandler logToStdout setOutHandler logToStdout setProxy pr request $ getRequest url return $ rspBody res(Un-gzip and un-tar a file into a folder.Htemporarily change the working directory to |dir| while running |action| create a temporary directory, run the action, remove the temporary directory the directory will be created inside the system temporary directory (cf bug 3413186) the temporary directory will be automatically removed afterwards. your working directory is not altered None68 %A Database saves a list of packages.  A package.A documented item.<Documentation for an item. Now it is simply a Text element.(Gets the name inside a Name constructor.$Gets the qualified name as a string.     None!"234<=BKGwrapper around logging methods, so we can enable logging when we debug ~Complete information for a declaration. Look at its ToJSON instance to know which one is used in each kind of declaration. (Information needed to search a package. Y !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnX !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMlmn,ngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONNone24o Things that reside on a module. q!Things that reside on a package. s5Get the identifiers of all packages in the database. t1Get information of all packages in the database. u?Get information of all versions of the package with that name. v1Get information about a package in the database. w2Get information about all modules with that name. xGet all the modules hierarchically inside the specified one. For getting the entire list of modules modules, use "" as initial name. z6Get information about all declaration with that name. }bGets the declarations inside some module, along with information about which package it lives. ~list declarations matching the given prefix, useful for content assist the prefix either matches the declaration itself or any constructor 7Get information about all constructors with that name. 4Gets a list of modules where a declaration may live Executes a query. $Gets information from a text value. opqrstuvwxyz{|}~opqrstuvwxyz{|}~stuvwxyz{|}~qropopqrstuvwxyz{|}~ Nonestatus of hoogle operation  a warning  None24  None=HMNone#Get the Hoogle dir from the db file"Executes a command in a directory.ZConverts a list of parsed packages into a complete database, and merges a list of errors.Working directory.Executable to run. Arguments. Show outputNoneHME      !"#$%&'()*+,-./012345E      !"#$%&'()*+,-./012345E      !"#$%&'()*+,-./012345NoneM6HParses the contents of a string containing the Hoogle file contents.7Parses a file in Hoogle documentation format, returning the documentation of the entire package, or the corresponding error during the parsing.8Parses a entire directory of Hoogle documentation files which must be following the format of the Hackage Hoogle library, specifically: root/ / package-name / version dochtml/package-name.txt6789:6786789:NoneM ;'Gets the url of a package from Hackage <Gets the version of GHC used =-Gets the url of a package from GHC libraries fDownloads the information for the entire Hackage database and saves it to the specified location. Downloads the information for the entire Hackage database creating an in-memory database with it. It needs a temporary directory to work on. Run SQL on the given path ?Updates a database with changes in the installed package base. /Get the database from a set of Cabal packages. >6Get the database from a set of Cabal packages. If ifFailCreateEmptyd is set, when a package gives a parse error, it is converted into an empty package with a note. 'Get the database from a Cabal package. ?'Get the database from a Cabal package. @9Get the database from a locally installed Cabal package. A;<=BCDEF>?@GA;<=BCDEF>?@GNoneHIMH a warning I,handle a keyword. For example searching for J' gives 'keyword hiding' in the results KRest of the line is a name LHMNOPQRSTUVWIKXLHMNOPQRSTUVWIKX LQPONMHRSTUVWIKXNonen  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm    HIJKLMGABCDEF@6789:;<=>?501234/*+,-.)$%&'(# !"ngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONngnkjihnnfedcnnba`_^]\[nnZYXnnWVUnnTSRnnQPONlmNone2YZYZNone#Init hoogle DB, adding extra files [Exec process and dump error [[\                ! " " # $ % & ' ( ) ) * * + , - . / 0 - 1 2 3 4 5 3 6 7 8 9 : 8 ; < = > ? = @ A B C D E F G H I B J K L M N O L P Q R S T U R V W X + Y Z 1 [ \ 6 ] ^ ; _ ` a b c d e @ f g h J i j k l P m n opqrstuvwxyz{|}~                     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^scion-browser-0.4.3Scion.PersistentBrowserScion.PersistentBrowser.QueryScion.PersistentHoogleScion.PersistentBrowser.Build$Scion.PersistentBrowser.FromMissingH Scion.PersistentBrowser.TempFileScion.PersistentHoogle.Util Scion.PersistentBrowser.FileUtilScion.PersistentBrowser.TypesScion.PersistentBrowser.DbTypesScion.PersistentHoogle.Types&Scion.PersistentBrowser.Instances.JsonScion.PersistentBrowser.ToDbScion.PersistentBrowser.Util'Scion.PersistentBrowser.Parser.InternalScion.PersistentBrowser.ParserScion.PersistentHoogle.Parser%Scion.PersistentHoogle.Instances.Json DbDeclTypeDbType DbSignature DbInstanceDbClass DbNewTypeDbDataDocItem getChildrengetChildNamedgetNameDatabasePackage DocumentedDocNoDoc docFromString getNameStringgetQNameStringSQL runLoggingDbCompleteDeclDbPackageIdentifierDbConstructorIdDbConstructorGeneric DbConstructordbConstructorNamedbConstructorSignaturedbConstructorDeclId DbContextIdDbContextGeneric DbContextdbContextShowndbContextDeclId DbFunDepIdDbFunDepGenericDbFunDep dbFunDepNamedbFunDepDeclId DbTyVarIdDbTyVarGenericDbTyVar dbTyVarName dbTyVarDeclIdDbDeclId DbDeclGenericDbDecldbDeclDeclType dbDeclName dbDeclDoc dbDeclKinddbDeclSignature dbDeclEqualsdbDeclModuleId DbModuleIdDbModuleGenericDbModule dbModuleName dbModuleDocdbModulePackageId DbPackageIdDbPackageGeneric DbPackage dbPackageNamedbPackageVersion dbPackageDocDbConstructorDeclIdDbConstructorSignatureDbConstructorNameDbContextDeclIdDbContextShownDbFunDepDeclId DbFunDepName DbTyVarDeclId DbTyVarNameDbDeclModuleId DbDeclEqualsDbDeclSignature DbDeclKind DbDeclDoc DbDeclNameDbDeclDeclTypeDbModulePackageId DbModuleDoc DbModuleName UniqueVersion DbPackageDocDbPackageVersion DbPackageName migrateAlldbPackageToIdentifier/TFCo:R:PersistEntityBackendDbConstructorGeneric HasDbModule getDbModule HasDbPackage getDbPackage allPackageIds allPackagespackagesByName getPackage modulesByName getSubmodules moduleAction declsByName declAction createIndexesgetDeclsInModulegetDeclsFromPrefixgetAllDeclInfoconstructorsByNamegetModulesWhereDeclarationIsqueryDb fromDbText!$fHasDbModuleDbConstructorGeneric$fHasDbModuleDbDeclGeneric$fHasDbModuleDbModuleGeneric$fHasDbPackageDbDeclGeneric$fHasDbPackageDbModuleGeneric$fHasDbPackageDbPackageGeneric HoogleStatusErrorOKMissingQueryResultRWarningRKeyword RConstructor RDeclarationRModuleRPackageResultssaveHackageDatabasecreateHackageDatabaserunSQLupdateDatabasecreateCabalDatabasegetCabalHooglequery downloadData checkDatabase initDatabaseaddToAL delFromAL startswithspanList breakListsplitreplace onExceptionopenNewBinaryFile pathSeparator std_flags output_flagsrw_flagscreateTempDirectory mkPrivateDirbase System.IO openTempFileopenBinaryTempFilefindHoogleBinPathfindPathsAndCheckfindPathAndCheckfindHoogleBinInLibraryfindHoogleInforemoveSmallVersionsgetHoogleBinPath1getHoogleBinPath2getHoogleBinPathCabalAPI getBinDirgetHoogleBinPathCabalDirgetHoogleBinPathMacOsDir exeExtension filterDotsdownloadFileLazydownloadFileStrictdownloadHoogleFile unTarGzipwithWorkingDirectorywithTemporaryDirectory getHoogleFile$fNamedGadtDecl$fDocItemDeclGadtDecl $fNamedDecl$fDocItemModuleDecl $fNamedModule$fPackagePackage$fPersistFieldDbDeclType$fToJSONDbConstructorGeneric$fToJSONDbFunDepGeneric$fToJSONDbTyVarGeneric$fToJSONDbContextGeneric$fToJSONDbCompleteDecl$fToJSONDbModuleGeneric$fFromJSONDbPackageIdentifier$fToJSONDbPackageIdentifier$fToJSONDbPackageGenericsavePackageToDbsaveModuleToDb saveDeclToDb saveTyVarToDbsaveFunDepToDbsaveContextToDbsaveConstructorToDbdeletePackageByInfo deletePackage deleteModule deleteDecl docToString declHeadToDb instRuleToDb instHeadToDbsingleLinePrettyPrintmaybeEmptyContext contextToDb $fSrcInfoDoc getHoogleDirexecuteCommandpartitionPackages withThreaded logToStdout escapeSqlBSParser hoogleParserinitialComment docComment documentedpackageversionmodule_ moduleName getModuleNamedecllisted listedPair lonelyComment parseTypeMode parseType parseType'theReplacementstheInverseReplacementsgenerateLatinReplacements generateInverseLatinReplacementseliminateUnwanted mapOnNamesmapOnNamesTyVarmapOnNamesNamemapOnNamesQNamemapOnNamesContextmapOnNamesAsstmapOnNamesIPName multipleNames functionLikefunction constructorconstructorOrFunctionkindkindL instance_type_ tyVarBind dataOrNewTypedivideConstructorAndFunctions possibleKindallButDoubleColondata_newtype_dataOrNewTypeHeaddataHead newtypeHeadclass_allButWhereColonPipefunDepvaridconidgetidhaskellKeywordshaskellReservedOpsallowedSpecialCharactersInIdsspecialCharacters restOfLineeolnumberspaces0spaces1 spacesOrEol0 spacesOrEol1getContextAndType lineariseTypetypeToContextAndHead toKindedVarsparseHoogleStringparseHoogleFileparseDirectorygetVersionDirectoryparseDirectoryFilesgetPackageUrlHackagegetGhcInstalledVersiongetPackageUrlGhcLibscreateCabalDatabase'getCabalHoogle'getCabalHoogleLocal hoogleDbUrlsaveHackageDatabaseWithTmpupdateDatabase'fromDbToPackageIdentifier getVersion pkgString HalfWarning hoogleKeywordGHC.Baseid restIsName HalfResult HalfKeyword HalfGadtDeclHalfDecl HalfModule HalfPackagehoogleElements catMaybesMhoogleElements' hoogleElementmoduledhooglePackageNameconvertHalfToResult$fFromJSONQuery$fToJSONResultexec