i+c:      !"#$%&'()*+,-./0123456789None &+3:=KMA query is like a Selector, but it cannot be composed any futher using a Category instance. It can have a Functor and Applicative instance though. To execute a query, you only need to run GHC once.8A selector is a generator for a function of type i -> o.This is just a dummy type representing a LocalBuildInfo. You don't have to use this type, it is just used to tag queries and make them more type-safe.#Compose two selectors, monadically. The same as (=<<<), but flipped.9Lift a selector to work on functorial inputs and outputs.:jZip together two selector that work on the same input. This is the equavilent of liftA2 (,) for selectors.IA Selector to get something out of a Maybe if you supply a default value.XBuild a selector. The expression the selector generates can depend on the cabal version.Build a query from a selector. #Lift a query to work over functors. MUse a selector to run a query in a bigger environment than it was defined in. \Run a query. This will generate the source code for the query and then invoke GHC to run it. Run a raw query, getting the full source from the first parameter the module must be DynamicCabalQuery and it must have a result declaration;Run a raw query, getting the full source from the first parameter. The module must be DynamicCabalQuery and it must have a result declaration. The third argument is a function to apply to the result of running the query.<=>?@A: B CDE ;FGHIJ  <=>?@A: B CDE ;FGHIJNone(HA target is a single Library, an Executable, a TestSuite or a Benchmark.The specific info of the targetAll dependencies of the target, with their versions. If the version is not resolved yet, it'll be Nothing. That only happens when the target is not enabled, though.+Directories where to look for source files.+Directories where to look for header files.>Additional options to pass to GHC when compiling source files.KAdditional options to pass to CPP preprocessor when compiling source files.The extensions to enable/disable. The elements are like GHC's -X flags, a disabled extension is represented as the extension name prefixed by No.Example value: extensions = [ScopedTypeVariables, NoMultiParamTypeClasses]The " field in the package description.$other modules included in the targetThe  'c-sources'" field in the package description.Whether this target was enabled or not. This only matters for Benchmarks or Tests, Executables and Libraries are always enabled.The specific information on a target, depending on the target type. Libraries don't have a name, they are always named after the package, but other types doXcontains the name of the benchmark and the path to the Main module, for stdio benchmarksTcontains the name of the test suite and the path to the Main module, for stdio testsCcontains the name of the executable and the path to the Main module%contains the names of exposed modules fA package description type. This type has no constructors, and is only used for type-safety purposes.!ITraverse the name of a target, if available (libraries don't have names)."3Traverse the path of the main module, if available.-Breturn the target name, or the empty string for the library target.is the target the library?/is the target an executable?0is the target a test suite?1is the target a benchmark?K4The include search path of a buildInfo. Same as the  includeDir field in Cabal's BuildInfo.LGet the names of the extensions to enable/disable for all source files in the package. If an extension should be disabled, it's name is prefixed by No;. This corresponds to the names of -X flags to pass to GHC.M5Get the options to pass to GHC for a given BuildInfo.N5Get the options to pass to GHC for a given BuildInfo.OGet the non exposed modules.PGet the dependencies of the target and the version of the dependency if possible. If the dependencies version is not a specific version (this only happens when the target is not enabled), return Nothing.Q Construct a b from a buildInfo, a targetName and a Bool that is True if the target is enabled, false otherwise.RGet the buildInfo of the library in the package, and its exposed modules. If there is no library in the package, return the empty list.SSGet the buildInfo, the name and Main module path of each executable in the package.TGet the filepath of a exit-code-stdio interface (for test cases or benchmarks) The first argument specifies the constructor which contains the interface data. For test suites, this should be TestSuiteExeV10, for benchmarks, it should be BenchmarkExeV10.Note: This function is not entirely typesafe, because the argument type of the returned function is polymorphic. You have to make sure that the type has the given constructor.UGet the name, whether the target is enabled or not, possibly the main module path and the buildInfo of each testSuite in the package.V]Get the name, whether it's enabled or not and the buildInfo of each benchmark in the package.WGet the name of all targets and whether they are enabled (second field True) or not. The resulting list is in the same order and has the same length as the list returned by buildInfos.XLGet the BuildInfo of all targets, even for disable or not buildable targets.2Query the available targets. This will return all targets, even disabled ones. If a package is disabled or not buildable, it's possible that not all dependencies have versions, some can be Nothing.@YZ[\] !"^#$%&'()*+,_-./01`abKLMNOPQRSTUVWX2cde% !"#$%&'()*+,-./012% 2-./01!"#$%&'()*+,0 YZ[\] !"^#$%&'()*+,_-./01`abKLMNOPQRSTUVWX2cdeNone35A package db is either the user package db (often at ~.ghcghc-....7), the global package or a specific file or directory.7BGet the package dbs that ghc will use when compiling this package.8JReturns the builddir of a LocalBuildInfo. Often, this will just be "dist".9?Returns the package description included in a local build info.3456789345678936547893654789None:  !"#$%&'()*+,-./0123456789f      !"#$%&'()*+,-./0123456789:;<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefdynamic-cabal-0.3.4!Distribution.Client.Dynamic.Query.Distribution.Client.Dynamic.PackageDescription*Distribution.Client.Dynamic.LocalBuildInfoDistribution.Client.DynamicQuerySelectorLocalBuildInfo=<<<>>>=fmapS maybeDefaultselectorqueryfmapQongetCabalVersionrunQuery runRawQueryTargetinfo dependencies sourceDirs includeDirs ghcOptions cppOptions extensions buildable otherModulescSourcesenabled TargetInfo BenchSuite TestSuite ExecutableLibraryPackageDescription_name _mainModule_info _dependencies _sourceDirs _includeDirs _ghcOptions _cppOptions _extensions _buildable _otherModules_enabled targetName isLibrary isExecutableisTestisBenchtargets PackageDB SpecificDBGlobalDBUserDB packageDBsbuildDir localPkgDesc zipSelector runRawQuery'LeftoverTempDir Typeable1getRunDirectorywithTempWorkingDirgetConfigStateFilegenerateSource$fExceptionLeftoverTempDir$fShowLeftoverTempDir$fApplicativeQuery$fFunctorQuery$fCategory*Selector includeDirs' extensions' ghcOptions' cppOptions' otherModules' dependencies'buildInfoTargetlibrary' executables'exitCodeStdioPath'tests' benchmarks' targetInfos buildInfos ModuleName Dependency ExtensionCompilerFlavor BuildInfo<&> _cSources buildable' hsSourceDirs' cSources'$fDefaultTarget$fDefaultTargetInfo$fEqCompilerFlavor